Back to top

RESTful API of Listings bounded context

Headers

As this API is working with JSON every request must add the following headers:

Accept: application/json

And for requests with body:

Content-Type: application/json

Properties

Properties

View all properties
GET/properties{?id,ids,unitIds,cityIds,ownerId,type,numRentableUnits,features,published,address,sort,page,itemsPerPage,archived,includeDeleted}

Example URI

GET https://listings.spotahome.com/properties?id=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&ids=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&unitIds=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&cityIds=vienna&ownerId=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&type=apartment&numRentableUnits=5&features=features[0][applicability]=property&features[0][category]=suitability&features[0][name]=gender&features[0][value]=any&published=true&address=carrer&sort=_id,type,ownerId,totalUnits,rentableUnits&page=1&itemsPerPage=100&archived=true&includeDeleted=false
URI Parameters
HideShow
id
string (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd

Criteria by id.

ids
array[string] (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd

Criteria by ids.

unitIds
array[string] (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd

Criteria by unit ids.

ownerId
string (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd

Criteria by owner id.

type
string (optional) Example: apartment

Criteria by property type.

  • apartment

  • studio

  • roomShared

  • residence

cityIds
array[string] (optional) Example: vienna

Criteria by city ids.

numRentableUnits
number (optional) Example: 5

Criteria by number of rentable units.

features
array[UnitFeatures] (optional) Example: features[0][applicability]=property&features[0][category]=suitability&features[0][name]=gender&features[0][value]=any

Criteria to search for one or more unit features

published
string (optional) Example: true

Criteria by published state.

  • true

  • false

archived
string (optional) Example: true

Criteria by archived state.

  • true

  • falseMongoDbFindAllPropertiesByCriteriaQuery

includeDeleted
boolean (optional) Example: false

Include deleted units in the search

address
string (optional) Example: carrer

Criteria to make a regex in address info. AddressLine1, AddressLine2, City and PostalCode.

sort
string (optional) Example: _id,type,ownerId,totalUnits,rentableUnits

Without symbol _id (ascending), with negative symbol -_id (descending)

page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 2,
  "_links": {
    "self": {
      "href": "/properties?page=1"
    },
    "first": {
      "href": "/properties?page=1"
    },
    "last": {
      "href": "/properties?page=2"
    },
    "next": {
      "href": "/properties?page=1"
    },
    "previous": {
      "href": "/properties?page=2"
    }
  },
  "_embedded": {
    "sah:properties": [
      {
        "id": "aaaa-bbbb-cccc-dddd",
        "type": "apartment",
        "location": {
          "addressLine1": "Avenida de la Palmera, 60",
          "addressLine2": "1º Izquierda",
          "city": "Sevilla",
          "cityId": "madrid",
          "neighbourhoodId": "26dcfa67-f027-4633-8edc-f0847aa086ce",
          "postalCode": "41013",
          "country": "spain",
          "latitude": 37.356508,
          "longitude": -5.983941
        },
        "ownerId": "aaaa-bbbb-cccc-dddd",
        "totalUnits": 10,
        "rentableUnits": 10,
        "publishedUnits": 2,
        "verified": true,
        "yearOfConstruction": 1981,
        "isVisitable": true,
        "source": "inbound"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self",
        "first",
        "last"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:properties": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "apartment",
                  "studio",
                  "roomShared",
                  "residence"
                ]
              },
              "location": {
                "type": "object",
                "properties": {
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "cityId": {
                    "type": "string",
                    "enum": [
                      "madrid",
                      "barcelona",
                      "bilbao",
                      "valencia",
                      "granada",
                      "seville",
                      "brussels",
                      "dublin",
                      "london",
                      "rome",
                      "milan",
                      "paris",
                      "lyon",
                      "dubai",
                      "berlin",
                      "vienna",
                      "istanbul",
                      "turin",
                      "bologna",
                      "florence",
                      "warsaw",
                      "krakow",
                      "lodz",
                      "gdansk",
                      "wroclaw",
                      "prague",
                      "vilnius",
                      "riga",
                      "budapest",
                      "athens",
                      "cordoba",
                      "nice",
                      "montpellier",
                      "lille",
                      "alicante",
                      "salamanca",
                      "murcia",
                      "zaragoza",
                      "perugia",
                      "naples",
                      "venice",
                      "padua",
                      "lisbon",
                      "porto",
                      "coimbra",
                      "munich",
                      "hamburg",
                      "frankfurt",
                      "cologne",
                      "stuttgart",
                      "dusseldorf",
                      "dresden",
                      "mainz",
                      "montreal",
                      "malaga",
                      "poznan",
                      "cadiz",
                      "oviedo",
                      "liege",
                      "santiago_de_compostela",
                      "alcala_de_henares",
                      "las_palmas_de_gran_canaria",
                      "valladolid",
                      "vigo",
                      "thessaloniki",
                      "katowice",
                      "almeria",
                      "amsterdam",
                      "santander",
                      "san_sebastian",
                      "genoa",
                      "a_coruna",
                      "lublin",
                      "huelva",
                      "jaen",
                      "pamplona",
                      "palma_de_mallorca",
                      "ghent",
                      "marseille",
                      "nottingham",
                      "cartagena",
                      "ljubljana",
                      "toulouse",
                      "glasgow",
                      "graz",
                      "copenhagen",
                      "nicosia",
                      "stockholm",
                      "edinburgh",
                      "rotterdam",
                      "zagreb",
                      "santa_cruz_de_tenerife",
                      "manchester",
                      "setubal",
                      "zurich",
                      "kaunas",
                      "sofia",
                      "trento",
                      "galway",
                      "leipzig",
                      "luxembourg",
                      "tallinn",
                      "saint_julians",
                      "valletta",
                      "brescia",
                      "cagliari"
                    ]
                  },
                  "neighbourhoodId": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "postalCode": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "latitude": {
                    "type": "number",
                    "description": "Between -90 and 90"
                  },
                  "longitude": {
                    "type": "number",
                    "description": "Between -180 and 180"
                  }
                },
                "required": [
                  "addressLine1",
                  "city",
                  "cityId",
                  "neighbourhoodId",
                  "postalCode",
                  "country",
                  "latitude",
                  "longitude"
                ]
              },
              "ownerId": {
                "type": "string"
              },
              "totalUnits": {
                "type": "number"
              },
              "rentableUnits": {
                "type": "number"
              },
              "publishedUnits": {
                "type": "number"
              },
              "verified": {
                "type": "boolean"
              },
              "yearOfConstruction": {
                "type": "number"
              },
              "isVisitable": {
                "type": "boolean"
              },
              "source": {
                "type": "string",
                "enum": [
                  "inbound",
                  "outbound",
                  "null"
                ]
              }
            },
            "required": [
              "id",
              "type",
              "location",
              "ownerId",
              "totalUnits",
              "rentableUnits",
              "publishedUnits",
              "verified",
              "isVisitable",
              "source"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Create a new Property

Create new property
POST/properties

Example URI

POST https://listings.spotahome.com/properties
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "type": "apartment",
  "location": {
    "addressLine1": "Avenida de la Palmera, 60",
    "addressLine2": "1º Izquierda",
    "city": "Sevilla",
    "cityId": "madrid",
    "postalCode": "41013",
    "latitude": 37.356508,
    "longitude": -5.983941
  },
  "yearOfConstruction": 1981,
  "ownerId": "aaaa-bbbb-cccc-dddd",
  "totalUnits": 10,
  "rentableUnits": 10,
  "isVisitable": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "apartment",
        "studio",
        "roomShared",
        "residence"
      ]
    },
    "location": {
      "type": "object",
      "properties": {
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "cityId": {
          "type": "string",
          "enum": [
            "madrid",
            "barcelona",
            "bilbao",
            "valencia",
            "granada",
            "seville",
            "brussels",
            "dublin",
            "london",
            "rome",
            "milan",
            "paris",
            "lyon",
            "dubai",
            "berlin",
            "vienna",
            "istanbul",
            "turin",
            "bologna",
            "florence",
            "warsaw",
            "krakow",
            "lodz",
            "gdansk",
            "wroclaw",
            "prague",
            "vilnius",
            "riga",
            "budapest",
            "athens",
            "cordoba",
            "nice",
            "montpellier",
            "lille",
            "alicante",
            "salamanca",
            "murcia",
            "zaragoza",
            "perugia",
            "naples",
            "venice",
            "padua",
            "lisbon",
            "porto",
            "coimbra",
            "munich",
            "hamburg",
            "frankfurt",
            "cologne",
            "stuttgart",
            "dusseldorf",
            "dresden",
            "mainz",
            "montreal",
            "malaga",
            "poznan",
            "cadiz",
            "oviedo",
            "liege",
            "santiago_de_compostela",
            "alcala_de_henares",
            "las_palmas_de_gran_canaria",
            "valladolid",
            "vigo",
            "thessaloniki",
            "katowice",
            "almeria",
            "amsterdam",
            "santander",
            "san_sebastian",
            "genoa",
            "a_coruna",
            "lublin",
            "huelva",
            "jaen",
            "pamplona",
            "palma_de_mallorca",
            "ghent",
            "marseille",
            "nottingham",
            "cartagena",
            "ljubljana",
            "toulouse",
            "glasgow",
            "graz",
            "copenhagen",
            "nicosia",
            "stockholm",
            "edinburgh",
            "rotterdam",
            "zagreb",
            "santa_cruz_de_tenerife",
            "manchester",
            "setubal",
            "zurich",
            "kaunas",
            "sofia",
            "trento",
            "galway",
            "leipzig",
            "luxembourg",
            "tallinn",
            "saint_julians",
            "valletta",
            "brescia",
            "cagliari"
          ]
        },
        "postalCode": {
          "type": "string"
        },
        "latitude": {
          "type": "number",
          "description": "Between -90 and 90"
        },
        "longitude": {
          "type": "number",
          "description": "Between -180 and 180"
        }
      },
      "required": [
        "addressLine1",
        "city",
        "cityId",
        "postalCode",
        "latitude",
        "longitude"
      ]
    },
    "yearOfConstruction": {
      "type": "number"
    },
    "ownerId": {
      "type": "string"
    },
    "totalUnits": {
      "type": "number",
      "description": "A number between 1 and 30 (both included)"
    },
    "rentableUnits": {
      "type": "number",
      "description": "A number between 1 and the value provided for totalUnits (both included)"
    },
    "isVisitable": {
      "type": "boolean",
      "description": "Whether the property is visitable or not. Defaults to false"
    }
  },
  "required": [
    "type",
    "location",
    "ownerId"
  ]
}
Response  201
HideShow
Headers
Location: /properties/aaaa-bbbb-cccc-dddd
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 422,
  "title": "Unprocessable Entity",
  "type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
  "validationMessages": {
    "field": {
      "stringLength": "The input is less than 6 characters long"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "sec10.html (string, required)"
    },
    "validationMessages": {
      "type": "object",
      "properties": {
        "field": {
          "type": "object",
          "properties": {
            "stringLength": {
              "type": "string"
            }
          },
          "required": [
            "stringLength"
          ]
        }
      },
      "description": "Contains a property for each field that failed validation."
    }
  },
  "required": [
    "detail",
    "status",
    "title"
  ]
}

Create Properties by public user

Create new property by public user
POST/public/properties

Example URI

POST https://listings.spotahome.com/public/properties
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "type": "apartment",
  "location": {
    "addressLine1": "Avenida de la Palmera, 60",
    "addressLine2": "1º Izquierda",
    "city": "Sevilla",
    "cityId": "madrid",
    "postalCode": "41013",
    "latitude": 37.356508,
    "longitude": -5.983941
  },
  "yearOfConstruction": 1981,
  "ownerId": "aaaa-bbbb-cccc-dddd",
  "totalUnits": 10,
  "rentableUnits": 10,
  "isVisitable": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "apartment",
        "studio",
        "roomShared",
        "residence"
      ]
    },
    "location": {
      "type": "object",
      "properties": {
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "cityId": {
          "type": "string",
          "enum": [
            "madrid",
            "barcelona",
            "bilbao",
            "valencia",
            "granada",
            "seville",
            "brussels",
            "dublin",
            "london",
            "rome",
            "milan",
            "paris",
            "lyon",
            "dubai",
            "berlin",
            "vienna",
            "istanbul",
            "turin",
            "bologna",
            "florence",
            "warsaw",
            "krakow",
            "lodz",
            "gdansk",
            "wroclaw",
            "prague",
            "vilnius",
            "riga",
            "budapest",
            "athens",
            "cordoba",
            "nice",
            "montpellier",
            "lille",
            "alicante",
            "salamanca",
            "murcia",
            "zaragoza",
            "perugia",
            "naples",
            "venice",
            "padua",
            "lisbon",
            "porto",
            "coimbra",
            "munich",
            "hamburg",
            "frankfurt",
            "cologne",
            "stuttgart",
            "dusseldorf",
            "dresden",
            "mainz",
            "montreal",
            "malaga",
            "poznan",
            "cadiz",
            "oviedo",
            "liege",
            "santiago_de_compostela",
            "alcala_de_henares",
            "las_palmas_de_gran_canaria",
            "valladolid",
            "vigo",
            "thessaloniki",
            "katowice",
            "almeria",
            "amsterdam",
            "santander",
            "san_sebastian",
            "genoa",
            "a_coruna",
            "lublin",
            "huelva",
            "jaen",
            "pamplona",
            "palma_de_mallorca",
            "ghent",
            "marseille",
            "nottingham",
            "cartagena",
            "ljubljana",
            "toulouse",
            "glasgow",
            "graz",
            "copenhagen",
            "nicosia",
            "stockholm",
            "edinburgh",
            "rotterdam",
            "zagreb",
            "santa_cruz_de_tenerife",
            "manchester",
            "setubal",
            "zurich",
            "kaunas",
            "sofia",
            "trento",
            "galway",
            "leipzig",
            "luxembourg",
            "tallinn",
            "saint_julians",
            "valletta",
            "brescia",
            "cagliari"
          ]
        },
        "postalCode": {
          "type": "string"
        },
        "latitude": {
          "type": "number",
          "description": "Between -90 and 90"
        },
        "longitude": {
          "type": "number",
          "description": "Between -180 and 180"
        }
      },
      "required": [
        "addressLine1",
        "city",
        "cityId",
        "postalCode",
        "latitude",
        "longitude"
      ]
    },
    "yearOfConstruction": {
      "type": "number"
    },
    "ownerId": {
      "type": "string"
    },
    "totalUnits": {
      "type": "number",
      "description": "A number between 1 and 30 (both included)"
    },
    "rentableUnits": {
      "type": "number",
      "description": "A number between 1 and 30 (both included)"
    },
    "isVisitable": {
      "type": "boolean",
      "description": "Whether the property is visitable or not. Defaults to false"
    }
  },
  "required": [
    "type",
    "location",
    "ownerId",
    "totalUnits",
    "rentableUnits"
  ]
}
Response  201
HideShow
Headers
Location: /listings/properties/aaaa-bbbb-cccc-dddd
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 422,
  "title": "Unprocessable Entity",
  "type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
  "validationMessages": {
    "field": {
      "stringLength": "The input is less than 6 characters long"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "sec10.html (string, required)"
    },
    "validationMessages": {
      "type": "object",
      "properties": {
        "field": {
          "type": "object",
          "properties": {
            "stringLength": {
              "type": "string"
            }
          },
          "required": [
            "stringLength"
          ]
        }
      },
      "description": "Contains a property for each field that failed validation."
    }
  },
  "required": [
    "detail",
    "status",
    "title"
  ]
}

Single Property

View single property
GET/properties/{id}

Example URI

GET https://listings.spotahome.com/properties/aaaaa-bbbbb-ccccc
URI Parameters
HideShow
id
string (required) Example: aaaaa-bbbbb-ccccc
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "aaaa-bbbb-cccc-dddd",
  "type": "apartment",
  "location": {
    "addressLine1": "Avenida de la Palmera, 60",
    "addressLine2": "1º Izquierda",
    "city": "Sevilla",
    "cityId": "madrid",
    "neighbourhoodId": "26dcfa67-f027-4633-8edc-f0847aa086ce",
    "postalCode": "41013",
    "country": "spain",
    "latitude": 37.356508,
    "longitude": -5.983941
  },
  "ownerId": "aaaa-bbbb-cccc-dddd",
  "totalUnits": 10,
  "rentableUnits": 10,
  "publishedUnits": 2,
  "verified": true,
  "yearOfConstruction": 1981,
  "isVisitable": true,
  "source": "inbound"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "apartment",
        "studio",
        "roomShared",
        "residence"
      ]
    },
    "location": {
      "type": "object",
      "properties": {
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "cityId": {
          "type": "string",
          "enum": [
            "madrid",
            "barcelona",
            "bilbao",
            "valencia",
            "granada",
            "seville",
            "brussels",
            "dublin",
            "london",
            "rome",
            "milan",
            "paris",
            "lyon",
            "dubai",
            "berlin",
            "vienna",
            "istanbul",
            "turin",
            "bologna",
            "florence",
            "warsaw",
            "krakow",
            "lodz",
            "gdansk",
            "wroclaw",
            "prague",
            "vilnius",
            "riga",
            "budapest",
            "athens",
            "cordoba",
            "nice",
            "montpellier",
            "lille",
            "alicante",
            "salamanca",
            "murcia",
            "zaragoza",
            "perugia",
            "naples",
            "venice",
            "padua",
            "lisbon",
            "porto",
            "coimbra",
            "munich",
            "hamburg",
            "frankfurt",
            "cologne",
            "stuttgart",
            "dusseldorf",
            "dresden",
            "mainz",
            "montreal",
            "malaga",
            "poznan",
            "cadiz",
            "oviedo",
            "liege",
            "santiago_de_compostela",
            "alcala_de_henares",
            "las_palmas_de_gran_canaria",
            "valladolid",
            "vigo",
            "thessaloniki",
            "katowice",
            "almeria",
            "amsterdam",
            "santander",
            "san_sebastian",
            "genoa",
            "a_coruna",
            "lublin",
            "huelva",
            "jaen",
            "pamplona",
            "palma_de_mallorca",
            "ghent",
            "marseille",
            "nottingham",
            "cartagena",
            "ljubljana",
            "toulouse",
            "glasgow",
            "graz",
            "copenhagen",
            "nicosia",
            "stockholm",
            "edinburgh",
            "rotterdam",
            "zagreb",
            "santa_cruz_de_tenerife",
            "manchester",
            "setubal",
            "zurich",
            "kaunas",
            "sofia",
            "trento",
            "galway",
            "leipzig",
            "luxembourg",
            "tallinn",
            "saint_julians",
            "valletta",
            "brescia",
            "cagliari"
          ]
        },
        "neighbourhoodId": {
          "type": [
            "string",
            "null"
          ]
        },
        "postalCode": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "latitude": {
          "type": "number",
          "description": "Between -90 and 90"
        },
        "longitude": {
          "type": "number",
          "description": "Between -180 and 180"
        }
      },
      "required": [
        "addressLine1",
        "city",
        "cityId",
        "neighbourhoodId",
        "postalCode",
        "country",
        "latitude",
        "longitude"
      ]
    },
    "ownerId": {
      "type": "string"
    },
    "totalUnits": {
      "type": "number"
    },
    "rentableUnits": {
      "type": "number"
    },
    "publishedUnits": {
      "type": "number"
    },
    "verified": {
      "type": "boolean"
    },
    "yearOfConstruction": {
      "type": "number"
    },
    "isVisitable": {
      "type": "boolean"
    },
    "source": {
      "type": "string",
      "enum": [
        "inbound",
        "outbound",
        "null"
      ]
    }
  },
  "required": [
    "id",
    "type",
    "location",
    "ownerId",
    "totalUnits",
    "rentableUnits",
    "publishedUnits",
    "verified",
    "isVisitable",
    "source"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Archive a property
DELETE/properties/{id}

Example URI

DELETE https://listings.spotahome.com/properties/aaaa-bbbb-cccc-dddd
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc (string, required)
Body
{
  "reasonToUnpublish": "Example reason",
  "reasonToUnpublishExtraInfo": "Example reason"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "reasonToUnpublish": {
      "type": "string"
    },
    "reasonToUnpublishExtraInfo": {
      "type": "string"
    }
  }
}
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Convert Properties

Convert a property
PUT/properties/{id}/convert

Example URI

PUT https://listings.spotahome.com/properties/aaaa-bbbb-cccc-dddd/convert
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc (string, required)
Body
{
  "type": "apartment",
  "reasonToUnpublishExtraInfo": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "apartment",
        "studio",
        "roomShared",
        "residence"
      ]
    },
    "reasonToUnpublishExtraInfo": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ]
}
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Property Location

Update the location of a property
PUT/properties/{id}/location

Example URI

PUT https://listings.spotahome.com/properties/aaaa-bbbb-cccc-dddd/location
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
{
  "addressLine1": "Avenida de la Palmera, 60",
  "addressLine2": "1º Izquierda",
  "city": "Sevilla",
  "cityId": "seville",
  "postalCode": "41013",
  "latitude": 37.356508,
  "longitude": -5.983941
}
Schema
{
  "type": "object",
  "properties": {
    "addressLine1": {
      "type": "string"
    },
    "addressLine2": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "cityId": {
      "type": "string"
    },
    "postalCode": {
      "type": "string"
    },
    "latitude": {
      "type": "number",
      "description": "Between -90 and 90"
    },
    "longitude": {
      "type": "number",
      "description": "Between -180 and 180"
    }
  },
  "required": [
    "addressLine1",
    "city",
    "postalCode",
    "latitude",
    "longitude"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Property Neighbourhood

Assign a neighbourhood to a property
PUT/properties/{id}/neighbourhood

Example URI

PUT https://listings.spotahome.com/properties/12345/neighbourhood
URI Parameters
HideShow
id
string (required) Example: 12345
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "neighbourhoodId": "50c044de-3cee-4ddf-a6b6-758796323ba2"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "neighbourhoodId": {
      "type": "string"
    }
  },
  "required": [
    "neighbourhoodId"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Property Owner

Change the owner of the property
PUT/properties/{id}/owner

Example URI

PUT https://listings.spotahome.com/properties/aaaa-bbbb-cccc-dddd/owner
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
{
  "ownerId": "2a861af5-aa7e-42da-abff-8d531d849618"
}
Schema
{
  "type": "object",
  "properties": {
    "ownerId": {
      "type": "string"
    }
  },
  "required": [
    "ownerId"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Property Information

Change information of the property
PUT/properties/{id}/information

Example URI

PUT https://listings.spotahome.com/properties/aaaa-bbbb-cccc-dddd/information
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
{
  "yearOfConstruction": 1981,
  "isVisitable": true
}
Schema
{
  "type": "object",
  "properties": {
    "yearOfConstruction": {
      "type": "number"
    },
    "isVisitable": {
      "type": "boolean"
    }
  },
  "required": [
    "isVisitable"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Property MultiListing Units

View all Property Multi Listings
GET/multi-listing-units

Example URI

GET https://listings.spotahome.com/multi-listing-units
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {}
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Single Property MultiListing

View single Property Multi Listing
GET/multi-listing-units/{id}

Example URI

GET https://listings.spotahome.com/multi-listing-units/aaaa-bbbb-cccc-dddd
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "aaaa-bbbb-cccc-dddd",
  "unitsCounter": 1
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Property id"
    },
    "unitsCounter": {
      "type": "number",
      "description": "Number of units"
    }
  },
  "required": [
    "id",
    "unitsCounter"
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Change number of units from Property MultiListing
PUT/multi-listing-units/{id}

Example URI

PUT https://listings.spotahome.com/multi-listing-units/aaaa-bbbb-cccc-dddd
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
{
  "counter": 10
}
Schema
{
  "type": "object",
  "properties": {
    "counter": {
      "type": "number"
    }
  },
  "required": [
    "counter"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Additional data

Create property additional data
POST/properties/additional-data

Example URI

POST https://listings.spotahome.com/properties/additional-data
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "id": "12345",
  "data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Property id"
    },
    "data": {
      "type": "object",
      "properties": {}
    }
  },
  "required": [
    "id",
    "data"
  ]
}
Response  201
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 422,
  "title": "Unprocessable Entity",
  "type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
  "validationMessages": {
    "field": {
      "stringLength": "The input is less than 6 characters long"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "sec10.html (string, required)"
    },
    "validationMessages": {
      "type": "object",
      "properties": {
        "field": {
          "type": "object",
          "properties": {
            "stringLength": {
              "type": "string"
            }
          },
          "required": [
            "stringLength"
          ]
        }
      },
      "description": "Contains a property for each field that failed validation."
    }
  },
  "required": [
    "detail",
    "status",
    "title"
  ]
}

Single Additional data

View additional data from single property
GET/properties/{id}/additional-data

Example URI

GET https://listings.spotahome.com/properties/12345/additional-data
URI Parameters
HideShow
id
string (required) Example: 12345
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "12345",
  "data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Property id"
    },
    "data": {
      "type": "object",
      "properties": {}
    }
  },
  "required": [
    "id",
    "data"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Update additional data from single property
PUT/properties/{id}/additional-data

Example URI

PUT https://listings.spotahome.com/properties/12345/additional-data
URI Parameters
HideShow
id
string (required) Example: 12345
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "data": {}
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {}
    }
  },
  "required": [
    "data"
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Reasons to archive a property

View all Reasons to unpublish
GET/properties/reasons-to-unpublish

Example URI

GET https://listings.spotahome.com/properties/reasons-to-unpublish
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "doesNotWantToWorkWithUs",
  "vacational",
  "soldOrNoLongerManagesProperty",
  "uncontactable",
  "inadequateContactDetails",
  "incompleteOrDuplicatedListing",
  "outsideQualityCriteria",
  "temporarilyUnpublished",
  "spotahomeDecision",
  "commission",
  "doesNotRememberWhoSahAre",
  "noBookings",
  "propertyConversion",
  "propertyArchived"
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Landlord Reasons to unpublish a property

View landlord Reasons to unpublish
GET/landlords/properties/reasons-to-unpublish

Example URI

GET https://listings.spotahome.com/landlords/properties/reasons-to-unpublish
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "llRequestsTemporaryUnpublication",
  "llUnhappyWithSah",
  "noLongerManagingTheProperty"
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Property types

View all Property Types
GET/properties/types

Example URI

GET https://listings.spotahome.com/properties/types
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "apartment",
  "studio",
  "roomShared",
  "residence"
]

Units

View all units

View all units
GET/units{?ids,propertyId,propertyIds,disabled,ownerId,reference,states,page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/units?ids=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&propertyId=90567&propertyIds=90567&disabled=true&ownerId=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&reference=ref&states=published&page=1&itemsPerPage=100
URI Parameters
HideShow
ids
array[string] (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd
propertyId
string (optional) Example: 90567
propertyIds
array[string] (optional) Example: 90567
disabled
boolean (optional) Example: true
ownerId
string (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd
reference
string (optional) Example: ref

Search using a regex in the reference field

states
array[string] (optional) Example: published
page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 2,
  "_links": {
    "self": {
      "href": "/units?page=1"
    },
    "first": {
      "href": "/units?page=1"
    },
    "last": {
      "href": "/units?page=2"
    },
    "next": {
      "href": "/units?page=1"
    },
    "previous": {
      "href": "/units?page=2"
    }
  },
  "_embedded": {
    "sah:units": [
      {
        "id": "aaaa-bbbb-cccc-dddd",
        "propertyId": "340123",
        "ownerId": "26dcfa67",
        "type": "whole",
        "state": "published",
        "deleted": true,
        "disable": true,
        "verified": true,
        "area": 50,
        "landlordReference": "Bedroom 10",
        "numberBathrooms": 3,
        "agentId": "cccc-aaaa-eeee-dddd",
        "plan": "standard",
        "location": {
          "addressLine1": "Avenida de la Palmera, 60",
          "addressLine2": "1º Izquierda",
          "country": "spain",
          "city": "Sevilla",
          "cityId": "madrid",
          "postalCode": "41013"
        }
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        }
      },
      "required": [
        "self",
        "first",
        "last",
        "next",
        "previous"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:units": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "propertyId": {
                "type": "string"
              },
              "ownerId": {
                "type": "string",
                "description": "f027-4633-8edc-f0847aa086ce (string, required)"
              },
              "type": {
                "type": "string",
                "enum": [
                  "whole",
                  "room",
                  "bed"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "published",
                  "unpublished",
                  "archived"
                ]
              },
              "deleted": {
                "type": "boolean"
              },
              "disable": {
                "type": "boolean"
              },
              "verified": {
                "type": "boolean"
              },
              "area": {
                "type": "number"
              },
              "landlordReference": {
                "type": "string"
              },
              "numberBathrooms": {
                "type": "number"
              },
              "agentId": {
                "type": "string"
              },
              "plan": {
                "type": "string",
                "enum": [
                  "standard",
                  "premium",
                  "select"
                ]
              },
              "location": {
                "type": "object",
                "properties": {
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "cityId": {
                    "type": "string",
                    "enum": [
                      "madrid",
                      "barcelona",
                      "bilbao",
                      "valencia",
                      "granada",
                      "seville",
                      "brussels",
                      "dublin",
                      "london",
                      "rome",
                      "milan",
                      "paris",
                      "lyon",
                      "dubai",
                      "berlin",
                      "vienna",
                      "istanbul",
                      "turin",
                      "bologna",
                      "florence",
                      "warsaw",
                      "krakow",
                      "lodz",
                      "gdansk",
                      "wroclaw",
                      "prague",
                      "vilnius",
                      "riga",
                      "budapest",
                      "athens",
                      "cordoba",
                      "nice",
                      "montpellier",
                      "lille",
                      "alicante",
                      "salamanca",
                      "murcia",
                      "zaragoza",
                      "perugia",
                      "naples",
                      "venice",
                      "padua",
                      "lisbon",
                      "porto",
                      "coimbra",
                      "munich",
                      "hamburg",
                      "frankfurt",
                      "cologne",
                      "stuttgart",
                      "dusseldorf",
                      "dresden",
                      "mainz",
                      "montreal",
                      "malaga",
                      "poznan",
                      "cadiz",
                      "oviedo",
                      "liege",
                      "santiago_de_compostela",
                      "alcala_de_henares",
                      "las_palmas_de_gran_canaria",
                      "valladolid",
                      "vigo",
                      "thessaloniki",
                      "katowice",
                      "almeria",
                      "amsterdam",
                      "santander",
                      "san_sebastian",
                      "genoa",
                      "a_coruna",
                      "lublin",
                      "huelva",
                      "jaen",
                      "pamplona",
                      "palma_de_mallorca",
                      "ghent",
                      "marseille",
                      "nottingham",
                      "cartagena",
                      "ljubljana",
                      "toulouse",
                      "glasgow",
                      "graz",
                      "copenhagen",
                      "nicosia",
                      "stockholm",
                      "edinburgh",
                      "rotterdam",
                      "zagreb",
                      "santa_cruz_de_tenerife",
                      "manchester",
                      "setubal",
                      "zurich",
                      "kaunas",
                      "sofia",
                      "trento",
                      "galway",
                      "leipzig",
                      "luxembourg",
                      "tallinn",
                      "saint_julians",
                      "valletta",
                      "brescia",
                      "cagliari"
                    ]
                  },
                  "postalCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "addressLine1",
                  "country",
                  "city",
                  "cityId",
                  "postalCode"
                ]
              }
            },
            "required": [
              "id",
              "propertyId",
              "type",
              "state",
              "deleted",
              "disable",
              "verified",
              "area",
              "landlordReference",
              "numberBathrooms",
              "location"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

View all units with body

View all units with body
POST/units

Retrieve a list of units that match a specific set of criteria inside the body of the request.

Example URI

POST https://listings.spotahome.com/units
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "ids": [
    "3c2e15d7-ba6e-4995-aa19-a00267ca36dd"
  ],
  "propertyId": "90567",
  "propertyIds": [
    "90567"
  ],
  "disabled": true,
  "ownerId": "3c2e15d7-ba6e-4995-aa19-a00267ca36dd",
  "reference": "ref",
  "states": [
    "published"
  ],
  "page": 1,
  "itemsPerPage": 100
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ids": {
      "type": "array"
    },
    "propertyId": {
      "type": "string"
    },
    "propertyIds": {
      "type": "array"
    },
    "disabled": {
      "type": "boolean"
    },
    "ownerId": {
      "type": "string"
    },
    "reference": {
      "type": "string",
      "description": "Search using a regex in the reference field"
    },
    "states": {
      "type": "array"
    },
    "page": {
      "type": "number"
    },
    "itemsPerPage": {
      "type": "number"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 2,
  "_links": {
    "self": {
      "href": "/units?page=1"
    },
    "first": {
      "href": "/units?page=1"
    },
    "last": {
      "href": "/units?page=2"
    },
    "next": {
      "href": "/units?page=1"
    },
    "previous": {
      "href": "/units?page=2"
    }
  },
  "_embedded": {
    "sah:units": [
      {
        "id": "aaaa-bbbb-cccc-dddd",
        "propertyId": "340123",
        "ownerId": "26dcfa67",
        "type": "whole",
        "state": "published",
        "deleted": true,
        "disable": true,
        "verified": true,
        "area": 50,
        "landlordReference": "Bedroom 10",
        "numberBathrooms": 3,
        "agentId": "cccc-aaaa-eeee-dddd",
        "plan": "standard",
        "location": {
          "addressLine1": "Avenida de la Palmera, 60",
          "addressLine2": "1º Izquierda",
          "country": "spain",
          "city": "Sevilla",
          "cityId": "madrid",
          "postalCode": "41013"
        }
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        }
      },
      "required": [
        "self",
        "first",
        "last",
        "next",
        "previous"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:units": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "propertyId": {
                "type": "string"
              },
              "ownerId": {
                "type": "string",
                "description": "f027-4633-8edc-f0847aa086ce (string, required)"
              },
              "type": {
                "type": "string",
                "enum": [
                  "whole",
                  "room",
                  "bed"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "published",
                  "unpublished",
                  "archived"
                ]
              },
              "deleted": {
                "type": "boolean"
              },
              "disable": {
                "type": "boolean"
              },
              "verified": {
                "type": "boolean"
              },
              "area": {
                "type": "number"
              },
              "landlordReference": {
                "type": "string"
              },
              "numberBathrooms": {
                "type": "number"
              },
              "agentId": {
                "type": "string"
              },
              "plan": {
                "type": "string",
                "enum": [
                  "standard",
                  "premium",
                  "select"
                ]
              },
              "location": {
                "type": "object",
                "properties": {
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "cityId": {
                    "type": "string",
                    "enum": [
                      "madrid",
                      "barcelona",
                      "bilbao",
                      "valencia",
                      "granada",
                      "seville",
                      "brussels",
                      "dublin",
                      "london",
                      "rome",
                      "milan",
                      "paris",
                      "lyon",
                      "dubai",
                      "berlin",
                      "vienna",
                      "istanbul",
                      "turin",
                      "bologna",
                      "florence",
                      "warsaw",
                      "krakow",
                      "lodz",
                      "gdansk",
                      "wroclaw",
                      "prague",
                      "vilnius",
                      "riga",
                      "budapest",
                      "athens",
                      "cordoba",
                      "nice",
                      "montpellier",
                      "lille",
                      "alicante",
                      "salamanca",
                      "murcia",
                      "zaragoza",
                      "perugia",
                      "naples",
                      "venice",
                      "padua",
                      "lisbon",
                      "porto",
                      "coimbra",
                      "munich",
                      "hamburg",
                      "frankfurt",
                      "cologne",
                      "stuttgart",
                      "dusseldorf",
                      "dresden",
                      "mainz",
                      "montreal",
                      "malaga",
                      "poznan",
                      "cadiz",
                      "oviedo",
                      "liege",
                      "santiago_de_compostela",
                      "alcala_de_henares",
                      "las_palmas_de_gran_canaria",
                      "valladolid",
                      "vigo",
                      "thessaloniki",
                      "katowice",
                      "almeria",
                      "amsterdam",
                      "santander",
                      "san_sebastian",
                      "genoa",
                      "a_coruna",
                      "lublin",
                      "huelva",
                      "jaen",
                      "pamplona",
                      "palma_de_mallorca",
                      "ghent",
                      "marseille",
                      "nottingham",
                      "cartagena",
                      "ljubljana",
                      "toulouse",
                      "glasgow",
                      "graz",
                      "copenhagen",
                      "nicosia",
                      "stockholm",
                      "edinburgh",
                      "rotterdam",
                      "zagreb",
                      "santa_cruz_de_tenerife",
                      "manchester",
                      "setubal",
                      "zurich",
                      "kaunas",
                      "sofia",
                      "trento",
                      "galway",
                      "leipzig",
                      "luxembourg",
                      "tallinn",
                      "saint_julians",
                      "valletta",
                      "brescia",
                      "cagliari"
                    ]
                  },
                  "postalCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "addressLine1",
                  "country",
                  "city",
                  "cityId",
                  "postalCode"
                ]
              }
            },
            "required": [
              "id",
              "propertyId",
              "type",
              "state",
              "deleted",
              "disable",
              "verified",
              "area",
              "landlordReference",
              "numberBathrooms",
              "location"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Landlord Units

View all landlord units
GET/public/units{?ids,propertyId,propertyIds,disabled,reference,states,page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/public/units?ids=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&propertyId=90567&propertyIds=90567&disabled=true&reference=ref&states=published&page=1&itemsPerPage=100
URI Parameters
HideShow
ids
array[string] (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd
propertyId
string (optional) Example: 90567
propertyIds
array[string] (optional) Example: 90567
disabled
boolean (optional) Example: true
reference
string (optional) Example: ref

Search using a regex in the reference field

states
array[string] (optional) Example: published
page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 2,
  "_links": {
    "self": {
      "href": "/public/units?page=1"
    },
    "first": {
      "href": "/public/units?page=1"
    },
    "last": {
      "href": "/public/units?page=2"
    },
    "next": {
      "href": "/public/units?page=1"
    },
    "previous": {
      "href": "/public/units?page=2"
    }
  },
  "_embedded": {
    "sah:units": [
      {
        "id": "aaaa-bbbb-cccc-dddd",
        "propertyId": "340123",
        "ownerId": "26dcfa67",
        "type": "whole",
        "state": "published",
        "deleted": true,
        "disable": true,
        "verified": true,
        "area": 50,
        "landlordReference": "Bedroom 10",
        "numberBathrooms": 3,
        "agentId": "cccc-aaaa-eeee-dddd",
        "plan": "standard",
        "location": {
          "addressLine1": "Avenida de la Palmera, 60",
          "addressLine2": "1º Izquierda",
          "country": "spain",
          "city": "Sevilla",
          "cityId": "madrid",
          "postalCode": "41013"
        }
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        }
      },
      "required": [
        "self",
        "first",
        "last",
        "next",
        "previous"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:units": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "propertyId": {
                "type": "string"
              },
              "ownerId": {
                "type": "string",
                "description": "f027-4633-8edc-f0847aa086ce (string, required)"
              },
              "type": {
                "type": "string",
                "enum": [
                  "whole",
                  "room",
                  "bed"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "published",
                  "unpublished",
                  "archived"
                ]
              },
              "deleted": {
                "type": "boolean"
              },
              "disable": {
                "type": "boolean"
              },
              "verified": {
                "type": "boolean"
              },
              "area": {
                "type": "number"
              },
              "landlordReference": {
                "type": "string"
              },
              "numberBathrooms": {
                "type": "number"
              },
              "agentId": {
                "type": "string"
              },
              "plan": {
                "type": "string",
                "enum": [
                  "standard",
                  "premium",
                  "select"
                ]
              },
              "location": {
                "type": "object",
                "properties": {
                  "addressLine1": {
                    "type": "string"
                  },
                  "addressLine2": {
                    "type": "string"
                  },
                  "country": {
                    "type": "string"
                  },
                  "city": {
                    "type": "string"
                  },
                  "cityId": {
                    "type": "string",
                    "enum": [
                      "madrid",
                      "barcelona",
                      "bilbao",
                      "valencia",
                      "granada",
                      "seville",
                      "brussels",
                      "dublin",
                      "london",
                      "rome",
                      "milan",
                      "paris",
                      "lyon",
                      "dubai",
                      "berlin",
                      "vienna",
                      "istanbul",
                      "turin",
                      "bologna",
                      "florence",
                      "warsaw",
                      "krakow",
                      "lodz",
                      "gdansk",
                      "wroclaw",
                      "prague",
                      "vilnius",
                      "riga",
                      "budapest",
                      "athens",
                      "cordoba",
                      "nice",
                      "montpellier",
                      "lille",
                      "alicante",
                      "salamanca",
                      "murcia",
                      "zaragoza",
                      "perugia",
                      "naples",
                      "venice",
                      "padua",
                      "lisbon",
                      "porto",
                      "coimbra",
                      "munich",
                      "hamburg",
                      "frankfurt",
                      "cologne",
                      "stuttgart",
                      "dusseldorf",
                      "dresden",
                      "mainz",
                      "montreal",
                      "malaga",
                      "poznan",
                      "cadiz",
                      "oviedo",
                      "liege",
                      "santiago_de_compostela",
                      "alcala_de_henares",
                      "las_palmas_de_gran_canaria",
                      "valladolid",
                      "vigo",
                      "thessaloniki",
                      "katowice",
                      "almeria",
                      "amsterdam",
                      "santander",
                      "san_sebastian",
                      "genoa",
                      "a_coruna",
                      "lublin",
                      "huelva",
                      "jaen",
                      "pamplona",
                      "palma_de_mallorca",
                      "ghent",
                      "marseille",
                      "nottingham",
                      "cartagena",
                      "ljubljana",
                      "toulouse",
                      "glasgow",
                      "graz",
                      "copenhagen",
                      "nicosia",
                      "stockholm",
                      "edinburgh",
                      "rotterdam",
                      "zagreb",
                      "santa_cruz_de_tenerife",
                      "manchester",
                      "setubal",
                      "zurich",
                      "kaunas",
                      "sofia",
                      "trento",
                      "galway",
                      "leipzig",
                      "luxembourg",
                      "tallinn",
                      "saint_julians",
                      "valletta",
                      "brescia",
                      "cagliari"
                    ]
                  },
                  "postalCode": {
                    "type": "string"
                  }
                },
                "required": [
                  "addressLine1",
                  "country",
                  "city",
                  "cityId",
                  "postalCode"
                ]
              }
            },
            "required": [
              "id",
              "propertyId",
              "type",
              "state",
              "deleted",
              "disable",
              "verified",
              "area",
              "landlordReference",
              "numberBathrooms",
              "location"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Property Units

Add a unit to a property
POST/properties/{id}/units

Example URI

POST https://listings.spotahome.com/properties/90567/units
URI Parameters
HideShow
id
string (required) Example: 90567
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "type": "room"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "room",
        "bed"
      ]
    }
  },
  "required": [
    "type"
  ]
}
Response  204
HideShow
Headers
Location: /units/{unitId}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Single Unit

View a single unit
GET/units/{id}

Example URI

GET https://listings.spotahome.com/units/aaaa-bbbb-cccc-dddd
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "aaaa-bbbb-cccc-dddd",
  "propertyId": "340123",
  "ownerId": "26dcfa67",
  "type": "whole",
  "state": "published",
  "deleted": true,
  "disable": true,
  "verified": true,
  "area": 50,
  "landlordReference": "Bedroom 10",
  "numberBathrooms": 3,
  "agentId": "cccc-aaaa-eeee-dddd",
  "plan": "standard",
  "location": {
    "addressLine1": "Avenida de la Palmera, 60",
    "addressLine2": "1º Izquierda",
    "country": "spain",
    "city": "Sevilla",
    "cityId": "madrid",
    "postalCode": "41013"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "propertyId": {
      "type": "string"
    },
    "ownerId": {
      "type": "string",
      "description": "f027-4633-8edc-f0847aa086ce (string, required)"
    },
    "type": {
      "type": "string",
      "enum": [
        "whole",
        "room",
        "bed"
      ]
    },
    "state": {
      "type": "string",
      "enum": [
        "published",
        "unpublished",
        "archived"
      ]
    },
    "deleted": {
      "type": "boolean"
    },
    "disable": {
      "type": "boolean"
    },
    "verified": {
      "type": "boolean"
    },
    "area": {
      "type": "number"
    },
    "landlordReference": {
      "type": "string"
    },
    "numberBathrooms": {
      "type": "number"
    },
    "agentId": {
      "type": "string"
    },
    "plan": {
      "type": "string",
      "enum": [
        "standard",
        "premium",
        "select"
      ]
    },
    "location": {
      "type": "object",
      "properties": {
        "addressLine1": {
          "type": "string"
        },
        "addressLine2": {
          "type": "string"
        },
        "country": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "cityId": {
          "type": "string",
          "enum": [
            "madrid",
            "barcelona",
            "bilbao",
            "valencia",
            "granada",
            "seville",
            "brussels",
            "dublin",
            "london",
            "rome",
            "milan",
            "paris",
            "lyon",
            "dubai",
            "berlin",
            "vienna",
            "istanbul",
            "turin",
            "bologna",
            "florence",
            "warsaw",
            "krakow",
            "lodz",
            "gdansk",
            "wroclaw",
            "prague",
            "vilnius",
            "riga",
            "budapest",
            "athens",
            "cordoba",
            "nice",
            "montpellier",
            "lille",
            "alicante",
            "salamanca",
            "murcia",
            "zaragoza",
            "perugia",
            "naples",
            "venice",
            "padua",
            "lisbon",
            "porto",
            "coimbra",
            "munich",
            "hamburg",
            "frankfurt",
            "cologne",
            "stuttgart",
            "dusseldorf",
            "dresden",
            "mainz",
            "montreal",
            "malaga",
            "poznan",
            "cadiz",
            "oviedo",
            "liege",
            "santiago_de_compostela",
            "alcala_de_henares",
            "las_palmas_de_gran_canaria",
            "valladolid",
            "vigo",
            "thessaloniki",
            "katowice",
            "almeria",
            "amsterdam",
            "santander",
            "san_sebastian",
            "genoa",
            "a_coruna",
            "lublin",
            "huelva",
            "jaen",
            "pamplona",
            "palma_de_mallorca",
            "ghent",
            "marseille",
            "nottingham",
            "cartagena",
            "ljubljana",
            "toulouse",
            "glasgow",
            "graz",
            "copenhagen",
            "nicosia",
            "stockholm",
            "edinburgh",
            "rotterdam",
            "zagreb",
            "santa_cruz_de_tenerife",
            "manchester",
            "setubal",
            "zurich",
            "kaunas",
            "sofia",
            "trento",
            "galway",
            "leipzig",
            "luxembourg",
            "tallinn",
            "saint_julians",
            "valletta",
            "brescia",
            "cagliari"
          ]
        },
        "postalCode": {
          "type": "string"
        }
      },
      "required": [
        "addressLine1",
        "country",
        "city",
        "cityId",
        "postalCode"
      ]
    }
  },
  "required": [
    "id",
    "propertyId",
    "type",
    "state",
    "deleted",
    "disable",
    "verified",
    "area",
    "landlordReference",
    "numberBathrooms",
    "location"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Delete a unit
DELETE/units/{id}

Example URI

DELETE https://listings.spotahome.com/units/aaaa-bbbb-cccc-dddd
URI Parameters
HideShow
id
string (required) Example: aaaa-bbbb-cccc-dddd
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit assignation

Assign a unit
PUT/units/{id}/assignation

Example URI

PUT https://listings.spotahome.com/units/157544/assignation
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
{
  "agentId": "0a5859b1-a54f-412f-81d4-5df9c39c5f7b"
}
Schema
{
  "type": "object",
  "properties": {
    "agentId": {
      "type": [
        "string",
        "null"
      ]
    }
  },
  "required": [
    "agentId"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 422,
  "title": "Unprocessable Entity",
  "type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
  "validationMessages": {
    "field": {
      "stringLength": "The input is less than 6 characters long"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "sec10.html (string, required)"
    },
    "validationMessages": {
      "type": "object",
      "properties": {
        "field": {
          "type": "object",
          "properties": {
            "stringLength": {
              "type": "string"
            }
          },
          "required": [
            "stringLength"
          ]
        }
      },
      "description": "Contains a property for each field that failed validation."
    }
  },
  "required": [
    "detail",
    "status",
    "title"
  ]
}

Unit Publication

Publish a unit
POST/units/{id}/publication

Example URI

POST https://listings.spotahome.com/units/157544/publication
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Requester: user@email.com
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unpublish a unit
DELETE/units/{id}/publication

Example URI

DELETE https://listings.spotahome.com/units/157544/publication
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Requester: user@email.com
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit publication by Landlord

Unpublish
DELETE/landlords/me/units/{id}/publication

Example URI

DELETE https://listings.spotahome.com/landlords/me/units/157544/publication
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

All landlord properties

View all
GET/landlords/me/properties{?includeDeleted}

Example URI

GET https://listings.spotahome.com/landlords/me/properties?includeDeleted=false
URI Parameters
HideShow
includeDeleted
boolean (optional) Example: false

Include deleted units in the search

Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Body
[
  {
    "id": "aaaa-bbbb-cccc-dddd",
    "isShared": true,
    "units": [
      {
        "id": "aaaa-bbbb-cccc-dddd",
        "isProperty": true
      }
    ]
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string"
      },
      "isShared": {
        "type": "boolean"
      },
      "units": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "isProperty": {
              "type": "boolean"
            }
          },
          "required": [
            "id",
            "isProperty"
          ]
        }
      }
    },
    "required": [
      "id",
      "isShared"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Landlord rights

Rights
GET/landlords/me/units/{id}/rights

Example URI

GET https://listings.spotahome.com/landlords/me/units/157544/rights
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Forbidden access",
  "status": 403,
  "title": "Forbidden",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit Additional Data

Update a unit
PUT/units/{id}/additional-data

Example URI

PUT https://listings.spotahome.com/units/157544/additional-data
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "area": 50,
  "landlordReference": "Room 1",
  "numberBathrooms": 2
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "area": {
      "type": [
        "number",
        "null"
      ]
    },
    "landlordReference": {
      "type": [
        "string",
        "null"
      ]
    },
    "numberBathrooms": {
      "type": [
        "number",
        "null"
      ]
    }
  },
  "required": [
    "area",
    "landlordReference",
    "numberBathrooms"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Remove units additional data
DELETE/units/{id}/additional-data

Example URI

DELETE https://listings.spotahome.com/units/157544/additional-data
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Requester: user@email.com
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Landlord unit Additional Data

Landlord update an unit additional data
PUT/public/units/{id}/additional-data

Example URI

PUT https://listings.spotahome.com/public/units/157544/additional-data
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "area": 50,
  "landlordReference": "Room 1",
  "numberBathrooms": 2
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "area": {
      "type": [
        "number",
        "null"
      ]
    },
    "landlordReference": {
      "type": [
        "string",
        "null"
      ]
    },
    "numberBathrooms": {
      "type": [
        "number",
        "null"
      ]
    }
  },
  "required": [
    "area",
    "landlordReference",
    "numberBathrooms"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Landlord partial update an unit additional data
PATCH/public/units/{id}/additional-data

Example URI

PATCH https://listings.spotahome.com/public/units/157544/additional-data
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "area": 50,
  "landlordReference": "Room 1",
  "numberBathrooms": 2
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "area": {
      "type": [
        "number",
        "null"
      ]
    },
    "landlordReference": {
      "type": [
        "string",
        "null"
      ]
    },
    "numberBathrooms": {
      "type": [
        "number",
        "null"
      ]
    }
  }
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit plan

Landlord gets plan
GET/public/units/{id}/plan

Example URI

GET https://listings.spotahome.com/public/units/157544/plan
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "plan": "standard"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "plan": {
      "type": "string",
      "enum": [
        "standard",
        "premium",
        "select"
      ]
    }
  },
  "required": [
    "plan"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Landlord changes plan
PUT/public/units/{id}/plan

Example URI

PUT https://listings.spotahome.com/public/units/157544/plan
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "plan": "standard"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "plan": {
      "type": "string",
      "enum": [
        "standard",
        "premium",
        "select"
      ]
    }
  },
  "required": [
    "plan"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit plans

View all unit plans
GET/units/plans{?page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/units/plans?page=1&itemsPerPage=100
URI Parameters
HideShow
page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 1,
  "_links": {
    "self": {
      "href": "/units/plans?page=1"
    },
    "first": {
      "href": "/units/plans?page=1"
    },
    "last": {
      "href": "/units/plans?page=1"
    },
    "next": {
      "href": "/units/plans?page=1"
    },
    "previous": {
      "href": "/units/plans?page=1"
    }
  },
  "_embedded": {
    "sah:listings:units:plans": [
      {
        "name": "standard"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        }
      },
      "required": [
        "self",
        "first",
        "last",
        "next",
        "previous"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:listings:units:plans": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "standard",
                  "premium",
                  "select"
                ]
              }
            },
            "required": [
              "name"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit plans

View all landlord unit plans
GET/public/units/plans{?page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/public/units/plans?page=1&itemsPerPage=100
URI Parameters
HideShow
page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 1,
  "_links": {
    "self": {
      "href": "/public/units/plans?page=1"
    },
    "first": {
      "href": "/public/units/plans?page=1"
    },
    "last": {
      "href": "/public/units/plans?page=1"
    },
    "next": {
      "href": "/public/units/plans?page=1"
    },
    "previous": {
      "href": "/public/units/plans?page=1"
    }
  },
  "_embedded": {
    "sah:listings:units:plans": [
      {
        "name": "standard"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          }
        }
      },
      "required": [
        "self",
        "first",
        "last",
        "next",
        "previous"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:listings:units:plans": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "standard",
                  "premium",
                  "select"
                ]
              }
            },
            "required": [
              "name"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit Activation

Enable a unit
POST/units/{id}/enabling

Example URI

POST https://listings.spotahome.com/units/157544/enabling
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Disable a unit
DELETE/units/{id}/enabling

Example URI

DELETE https://listings.spotahome.com/units/157544/enabling
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unit plan

Internal user gets plan
GET/units/{id}/plan

Example URI

GET https://listings.spotahome.com/units/157544/plan
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "plan": "standard"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "plan": {
      "type": "string",
      "enum": [
        "standard",
        "premium",
        "select"
      ]
    }
  },
  "required": [
    "plan"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Internal user changes plan
PUT/units/{id}/plan

Example URI

PUT https://listings.spotahome.com/units/157544/plan
URI Parameters
HideShow
id
string (required) Example: 157544
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "plan": "standard"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "plan": {
      "type": "string",
      "enum": [
        "standard",
        "premium",
        "select"
      ]
    }
  },
  "required": [
    "plan"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Features

Single Features

View features from a single unit
GET/unit-features/{id}

Example URI

GET https://listings.spotahome.com/unit-features/12345
URI Parameters
HideShow
id
string (required) Example: 12345
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "200430",
  "unitFeatures": [
    {
      "applicability": "unit",
      "category": "suitability",
      "name": "gender",
      "value": "any",
      "additionalInfo": 4000
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "unitFeatures": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "applicability": {
            "type": "string",
            "enum": [
              "unit",
              "property"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "suitability",
              "features",
              "extraFeatures",
              "bills"
            ]
          },
          "name": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "additionalInfo": {
            "type": "number"
          }
        },
        "required": [
          "applicability",
          "category",
          "name",
          "value"
        ]
      }
    }
  },
  "required": [
    "id",
    "unitFeatures"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Partial update of features of a single unit
PATCH/unit-features/{id}

To update or create a feature for a unit you need to send within the array the object with the four parameters (applicability, category, name, value). To delete a feature, you need to send the object omitting the value (applicability, category, name).

Example URI

PATCH https://listings.spotahome.com/unit-features/12345
URI Parameters
HideShow
id
string (required) Example: 12345
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
[
  {
    "applicability": "unit",
    "category": "suitability",
    "name": "gender",
    "value": "any",
    "additionalInfo": 4000
  }
]
Schema
{
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "applicability": {
        "type": "string"
      },
      "category": {
        "type": "string"
      },
      "name": {
        "type": "string"
      },
      "value": {
        "type": "string"
      },
      "additionalInfo": {
        "type": "number"
      }
    },
    "required": [
      "applicability",
      "category",
      "name"
    ]
  },
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  204
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 422,
  "title": "Unprocessable Entity",
  "type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
  "validationMessages": {
    "field": {
      "stringLength": "The input is less than 6 characters long"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "sec10.html (string, required)"
    },
    "validationMessages": {
      "type": "object",
      "properties": {
        "field": {
          "type": "object",
          "properties": {
            "stringLength": {
              "type": "string"
            }
          },
          "required": [
            "stringLength"
          ]
        }
      },
      "description": "Contains a property for each field that failed validation."
    }
  },
  "required": [
    "detail",
    "status",
    "title"
  ]
}

Unit features

View all unit features
GET/unit-features{?ids,names,applicability,category,page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/unit-features?ids=12345&names=name&applicability=&category=&page=1&itemsPerPage=100
URI Parameters
HideShow
ids
array[string] (optional) Example: 12345

Criteria by ids.

names
array[string] (optional) Example: name

Criteria by names.

applicability
string (optional) 
  • property

  • unit

category
string (optional) 
  • suitability

  • features

  • extraFeatures

  • bills

page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 100,
  "total": 200,
  "_links": {
    "self": {
      "href": "/unit-features?page=1"
    },
    "first": {
      "href": "/unit-features?page=1"
    },
    "last": {
      "href": "/unit-features?page=2"
    },
    "next": {
      "href": "/unit-features?page=1"
    },
    "previous": {
      "href": "/unit-features?page=2"
    }
  },
  "_embedded": {
    "sah:unit-features": [
      {
        "id": "200430",
        "unitFeatures": [
          {
            "applicability": "unit",
            "category": "suitability",
            "name": "gender",
            "value": "any",
            "additionalInfo": 4000
          }
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self",
        "first",
        "last"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:unit-features": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "unitFeatures": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "applicability": {
                      "type": "string",
                      "enum": [
                        "unit",
                        "property"
                      ]
                    },
                    "category": {
                      "type": "string",
                      "enum": [
                        "suitability",
                        "features",
                        "extraFeatures",
                        "bills"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "additionalInfo": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "applicability",
                    "category",
                    "name",
                    "value"
                  ]
                }
              }
            },
            "required": [
              "id",
              "unitFeatures"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Landlord unit features

View landlord all unit features
GET/public/unit-features{?ids,names,applicability,category,group,page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/public/unit-features?ids=12345&names=name&applicability=&category=&group=landlordPolicies&page=1&itemsPerPage=100
URI Parameters
HideShow
ids
array[string] (optional) Example: 12345

Criteria by ids.

names
array[string] (optional) Example: name

Criteria by names.

applicability
string (optional) 
  • property

  • unit

category
string (optional) 
  • suitability

  • features

  • extraFeatures

  • bills

group
string (optional) Example: landlordPolicies
page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 100,
  "total": 200,
  "_links": {
    "self": {
      "href": "/public/unit-features?page=1"
    },
    "first": {
      "href": "/public/unit-features?page=1"
    },
    "last": {
      "href": "/public/unit-features?page=2"
    },
    "next": {
      "href": "/public/unit-features?page=1"
    },
    "previous": {
      "href": "/public/unit-features?page=2"
    }
  },
  "_embedded": {
    "sah:unit-features": [
      {
        "id": "200430",
        "unitFeatures": [
          {
            "applicability": "unit",
            "category": "suitability",
            "name": "gender",
            "value": "any",
            "additionalInfo": 4000
          }
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self",
        "first",
        "last"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:unit-features": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "unitFeatures": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "applicability": {
                      "type": "string",
                      "enum": [
                        "unit",
                        "property"
                      ]
                    },
                    "category": {
                      "type": "string",
                      "enum": [
                        "suitability",
                        "features",
                        "extraFeatures",
                        "bills"
                      ]
                    },
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    },
                    "additionalInfo": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "applicability",
                    "category",
                    "name",
                    "value"
                  ]
                }
              }
            },
            "required": [
              "id",
              "unitFeatures"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Clone unit features

Clone unit features
POST/unit-features/clone

Example URI

POST https://listings.spotahome.com/unit-features/clone
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
{
  "sourcePropertyId": "12345",
  "destinationPropertyIds": [
    "45678"
  ]
}
Schema
{
  "type": "object",
  "properties": {
    "sourcePropertyId": {
      "type": "string"
    },
    "destinationPropertyIds": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "sourcePropertyId",
    "destinationPropertyIds"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  202
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Available Features

View all available features
GET/features{?names,applicability,category,cityId,group}

Example URI

GET https://listings.spotahome.com/features?names=gender&applicability=unit&category=suitability&cityId=madrid&group=landlordPolicies
URI Parameters
HideShow
names
array[string] (optional) Example: gender

Criteria by names.

applicability
string (optional) Example: unit
category
string (optional) Example: suitability
cityId
string (optional) Example: madrid
group
string (optional) Example: landlordPolicies
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "name": "gender",
    "category": "suitability",
    "applicability": "property",
    "mandatory": true,
    "options": [
      "any",
      "onlyMales",
      "onlyFemales"
    ],
    "requiresAdditionalInfo": [
      "any",
      "onlyMales"
    ],
    "additionalInfoType": "priceAdditionalInfoType"
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string"
      },
      "category": {
        "type": "string"
      },
      "applicability": {
        "type": "string",
        "enum": [
          "property",
          "unit"
        ]
      },
      "mandatory": {
        "type": "boolean"
      },
      "options": {
        "type": "array",
        "items": [
          {
            "type": "string"
          },
          {
            "type": "string"
          },
          {
            "type": "string"
          }
        ]
      },
      "requiresAdditionalInfo": {
        "type": "array",
        "items": [
          {
            "type": "string"
          },
          {
            "type": "string"
          }
        ]
      },
      "additionalInfoType": {
        "type": "string",
        "enum": [
          "priceAdditionalInfoType",
          "frequencyAndFeeAdditionalInfoType"
        ]
      }
    },
    "required": [
      "name",
      "category",
      "applicability",
      "mandatory",
      "options"
    ]
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Features Groups

View all features groups
GET/features/groups{?page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/features/groups?page=1&itemsPerPage=100
URI Parameters
HideShow
page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 1,
  "_links": {
    "self": {
      "href": "/features/groups?page=1&itemsPerPage=100"
    },
    "first": {
      "href": "/features/groups?page=1&itemsPerPage=100"
    },
    "last": {
      "href": "/features/groups?page=1&itemsPerPage=100"
    },
    "next": {
      "href": "/features/groups?page=1&itemsPerPage=100"
    },
    "previous": {
      "href": "/features/groups?page=1&itemsPerPage=100"
    }
  },
  "_embedded": {
    "sah:listings:features:groups": [
      {
        "name": "landlordPolicies",
        "features": [
          "petsAllowed",
          "smokingAllowed",
          "professionals"
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self",
        "first",
        "last"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:listings:features:groups": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "features": {
                "type": "array",
                "items": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "string"
                  },
                  {
                    "type": "string"
                  }
                ]
              }
            },
            "required": [
              "name",
              "features"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Copywriters

Copywriters

View copywriters
GET/copywriters{?ids,enabled,page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/copywriters?ids=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&enabled=true&page=1&itemsPerPage=100
URI Parameters
HideShow
ids
array[string] (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd

Criteria by ids.

enabled
boolean (optional) Example: true
page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 2,
  "_links": {
    "self": {
      "href": "/copywriters?page=1"
    },
    "first": {
      "href": "/copywriters?page=1"
    },
    "last": {
      "href": "/copywriters?page=2"
    },
    "next": {
      "href": "/copywriters?page=1"
    },
    "previous": {
      "href": "/copywriters?page=2"
    }
  },
  "_embedded": {
    "sah:copywriters": [
      {
        "id": "aaaaa-bbbb-cccc",
        "firstName": "Homer",
        "lastName": "Jay Simpson",
        "email": "homer@springfield.com",
        "enabled": true,
        "profilePicture": "https://pbs.twimg.com/profile_images/725013638411489280/4wx8EcIA.jpg"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self",
        "first",
        "last"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:copywriters": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "email": {
                "type": "string"
              },
              "enabled": {
                "type": "boolean"
              },
              "profilePicture": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "firstName",
              "email",
              "enabled"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Cities

Cities

View all cities
GET/cities{?enabled,locale}

Example URI

GET https://listings.spotahome.com/cities?enabled=true&locale=en
URI Parameters
HideShow
enabled
boolean (optional) Example: true
locale
string (optional) Example: en

Locale for the translations. Defaults to “en” if not sent or not found.

Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": "madrid",
    "calendarId": "calendarMadrid",
    "countryId": "spain",
    "minimumStay": 30,
    "timeZone": "Europe/Madrid",
    "inboundEnabled": true,
    "translations": {
      "cityShortName": "Madrid",
      "cityLongName": "Madrid",
      "countryShortName": "ES",
      "countryLongName": "Spain"
    }
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string"
      },
      "calendarId": {
        "type": "string"
      },
      "countryId": {
        "type": "string"
      },
      "minimumStay": {
        "type": "number"
      },
      "timeZone": {
        "type": "string"
      },
      "inboundEnabled": {
        "type": "boolean"
      },
      "translations": {
        "type": "object",
        "properties": {
          "cityShortName": {
            "type": "string"
          },
          "cityLongName": {
            "type": "string"
          },
          "countryShortName": {
            "type": "string"
          },
          "countryLongName": {
            "type": "string"
          }
        },
        "required": [
          "cityShortName",
          "cityLongName",
          "countryShortName",
          "countryLongName"
        ]
      }
    },
    "required": [
      "id",
      "calendarId",
      "countryId",
      "minimumStay",
      "timeZone",
      "inboundEnabled",
      "translations"
    ]
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Units cities

View all units cities
POST/cities/units

Example URI

POST https://listings.spotahome.com/cities/units
Request
HideShow
Headers
Authorization: aa.bb.cc
Body
{
  "unitIds": [
    "188392"
  ]
}
Schema
{
  "type": "object",
  "properties": {
    "unitIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of unit ids"
    }
  },
  "required": [
    "unitIds"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "Hello, world!"
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "string"
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

City

View city
GET/cities/{id}

Example URI

GET https://listings.spotahome.com/cities/madrid
URI Parameters
HideShow
id
string (required) Example: madrid
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "madrid",
  "calendarId": "calendarMadrid",
  "country": "spain",
  "minimumStay": 30,
  "timeZone": "Europe/Madrid",
  "inboundEnabled": true
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "calendarId": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "minimumStay": {
      "type": "number"
    },
    "timeZone": {
      "type": "string"
    },
    "inboundEnabled": {
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "calendarId",
    "country",
    "minimumStay",
    "timeZone",
    "inboundEnabled"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition requests

Edition requests

Search Edition requests
GET/edition-requests{?ids,propertyId,copywriterId,copywriter,stage,type,priority,requestedFrom,requestedTo,sort,page,itemsPerPage}

Example URI

GET https://listings.spotahome.com/edition-requests?ids=3c2e15d7-ba6e-4995-aa19-a00267ca36dd&propertyId=12345&copywriterId=7d3f26e8-ba6e-4995-aa19-a00267ca36dd&copywriter=7d3f26e8-ba6e-4995-aa19-a00267ca36dd&stage=readyToCopy&type=property&priority=low&requestedFrom=2018-03-08&requestedTo=2018-03-08&sort=_id,propertyId,type,referenceId,notes,copywriterId,stage,requestedAt,requester&page=1&itemsPerPage=100
URI Parameters
HideShow
ids
array[string] (optional) Example: 3c2e15d7-ba6e-4995-aa19-a00267ca36dd

Criteria by ids.

propertyId
string (optional) Example: 12345
copywriterId
string (optional) Example: 7d3f26e8-ba6e-4995-aa19-a00267ca36dd

(DEPRECATED) UUID or unassigned Use copywriter

copywriter
string (optional) Example: 7d3f26e8-ba6e-4995-aa19-a00267ca36dd

UUID or unassigned

type
string (optional) Example: property
  • property

  • additional

  • modification

priority
string (optional) Example: low
  • low

  • medium

  • high

stage
string (optional) Example: readyToCopy
  • readyToCopy

  • inProgress

  • finished

requestedTo
string (optional) Example: 2018-03-08
requestedFrom
string (optional) Example: 2018-03-08
sort
string (optional) Example: _id,propertyId,type,referenceId,notes,copywriterId,stage,requestedAt,requester

Without symbol requestedAt (ascending), with negative symbol -requestedAt (descending)

page
number (optional) Example: 1
itemsPerPage
number (optional) Example: 100
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 2,
  "total": 2,
  "_links": {
    "self": {
      "href": "/edition-requests?page=1"
    },
    "first": {
      "href": "/edition-requests?page=1"
    },
    "last": {
      "href": "/edition-requests?page=2"
    },
    "next": {
      "href": "/edition-requests?page=1"
    },
    "previous": {
      "href": "/edition-requests?page=2"
    }
  },
  "_embedded": {
    "sah:edition-requests": [
      {
        "id": "aaaa-bbbb-cccc-dddd",
        "propertyId": "12345",
        "referenceId": "photo-session",
        "copywriterId": "aaaa-bbbb-cccc-dddd",
        "type": "property",
        "priority": "low",
        "stage": "readyToCopy",
        "notes": "some notes",
        "requesterId": "bbbb-cccc-dddd-eee",
        "requestedAt": "2018-03-06T17:16:28+00:00"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self",
        "first",
        "last"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:edition-requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "propertyId": {
                "type": "string"
              },
              "referenceId": {
                "type": "string"
              },
              "copywriterId": {
                "type": "string"
              },
              "type": {
                "type": "string",
                "enum": [
                  "property",
                  "additional",
                  "modification"
                ]
              },
              "priority": {
                "type": "string",
                "enum": [
                  "low",
                  "medium",
                  "high"
                ]
              },
              "stage": {
                "type": "string",
                "enum": [
                  "readyToCopy",
                  "inProgress",
                  "finished"
                ]
              },
              "notes": {
                "type": "string"
              },
              "requesterId": {
                "type": "string"
              },
              "requestedAt": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "propertyId",
              "referenceId",
              "type",
              "priority",
              "stage",
              "requesterId",
              "requestedAt"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Single Edition request

Get Edition requests by id
GET/edition-requests/{id}

Example URI

GET https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "aaaa-bbbb-cccc-dddd",
  "propertyId": "12345",
  "referenceId": "photo-session",
  "copywriterId": "aaaa-bbbb-cccc-dddd",
  "type": "property",
  "priority": "low",
  "stage": "readyToCopy",
  "notes": "some notes",
  "requesterId": "bbbb-cccc-dddd-eee",
  "requestedAt": "2018-03-06T17:16:28+00:00"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "propertyId": {
      "type": "string"
    },
    "referenceId": {
      "type": "string"
    },
    "copywriterId": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "enum": [
        "property",
        "additional",
        "modification"
      ]
    },
    "priority": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high"
      ]
    },
    "stage": {
      "type": "string",
      "enum": [
        "readyToCopy",
        "inProgress",
        "finished"
      ]
    },
    "notes": {
      "type": "string"
    },
    "requesterId": {
      "type": "string"
    },
    "requestedAt": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "propertyId",
    "referenceId",
    "type",
    "priority",
    "stage",
    "requesterId",
    "requestedAt"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition request assignation

Assign a copywriter to an edition request
PUT/edition-requests/{id}/assignation

Example URI

PUT https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/assignation
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "copywriterId": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "copywriterId": {
      "type": "string",
      "description": "User Id from the copywriter assigned"
    }
  },
  "required": [
    "copywriterId"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Unassign an edition request
DELETE/edition-requests/{id}/assignation

Example URI

DELETE https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/assignation
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition request reviewer assignation

Assign a copywriter to review an edition request
PUT/edition-requests/{id}/assignation-quality

Example URI

PUT https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/assignation-quality
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "copywriterId": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "copywriterId": {
      "type": "string",
      "description": "User Id from the copywriter assigned"
    }
  },
  "required": [
    "copywriterId"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition request start

Start an edition request
PUT/edition-requests/{id}/start

Example URI

PUT https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/start
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition request finish

Finish an edition request
PUT/edition-requests/{id}/finish

Example URI

PUT https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/finish
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition request rejection

Reject an edition request
PUT/edition-requests/{id}/rejection

Example URI

PUT https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/rejection
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "reason": "why I'm rejecting this"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "reason": {
      "type": "string"
    }
  },
  "required": [
    "reason"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition request resolution

Resolve an edition request
PUT/edition-requests/{id}/resolution

Example URI

PUT https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/resolution
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "reason": "why I'm resolving this"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "reason": {
      "type": "string"
    }
  },
  "required": [
    "reason"
  ]
}
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Edition request resolution

Cancel an edition request
PUT/edition-requests/{id}/cancellation

Example URI

PUT https://listings.spotahome.com/edition-requests/7121b75d-768d-4907-8535-052772efe3cd/cancellation
URI Parameters
HideShow
id
string (required) Example: 7121b75d-768d-4907-8535-052772efe3cd
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  409
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be completed due to a conflict with the current state of the resource",
  "status": 409,
  "title": "Conflict",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Types

View Edition Request Types
GET/edition-requests/types

Example URI

GET https://listings.spotahome.com/edition-requests/types
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "property",
  "additional",
  "modification"
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Stages

View Edition Request Stages
GET/edition-requests/stages

Example URI

GET https://listings.spotahome.com/edition-requests/stages
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "readyToCopy",
  "inProgress",
  "finished",
  "landlordMissingInformation",
  "cancelled"
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Priorities

View Edition Request Priorities
GET/edition-requests/priorities

Example URI

GET https://listings.spotahome.com/edition-requests/priorities
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  "low",
  "medium",
  "high"
]
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Multi Listings

Create a new Multi Listing

Create new multi listing
POST/multi-listings

Example URI

POST https://listings.spotahome.com/multi-listings
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "propertyTemplates": [
    {
      "ownerId": "aaaa-bbbb-cccc-dddd",
      "type": "apartment",
      "location": {
        "addressLine1": "Avenida de la Palmera, 60",
        "addressLine2": "1º Izquierda",
        "city": "Sevilla",
        "cityId": "madrid",
        "postalCode": "41013",
        "latitude": 37.356508,
        "longitude": -5.983941
      },
      "totalUnits": 10,
      "rentableUnits": 10,
      "numberOfProperties": 2,
      "templateName": "'A template name'"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "propertyTemplates": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "ownerId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "apartment",
              "studio",
              "roomShared",
              "residence"
            ]
          },
          "location": {
            "type": "object",
            "properties": {
              "addressLine1": {
                "type": "string"
              },
              "addressLine2": {
                "type": "string"
              },
              "city": {
                "type": "string"
              },
              "cityId": {
                "type": "string",
                "enum": [
                  "madrid",
                  "barcelona",
                  "bilbao",
                  "valencia",
                  "granada",
                  "seville",
                  "brussels",
                  "dublin",
                  "london",
                  "rome",
                  "milan",
                  "paris",
                  "lyon",
                  "dubai",
                  "berlin",
                  "vienna",
                  "istanbul",
                  "turin",
                  "bologna",
                  "florence",
                  "warsaw",
                  "krakow",
                  "lodz",
                  "gdansk",
                  "wroclaw",
                  "prague",
                  "vilnius",
                  "riga",
                  "budapest",
                  "athens",
                  "cordoba",
                  "nice",
                  "montpellier",
                  "lille",
                  "alicante",
                  "salamanca",
                  "murcia",
                  "zaragoza",
                  "perugia",
                  "naples",
                  "venice",
                  "padua",
                  "lisbon",
                  "porto",
                  "coimbra",
                  "munich",
                  "hamburg",
                  "frankfurt",
                  "cologne",
                  "stuttgart",
                  "dusseldorf",
                  "dresden",
                  "mainz",
                  "montreal",
                  "malaga",
                  "poznan",
                  "cadiz",
                  "oviedo",
                  "liege",
                  "santiago_de_compostela",
                  "alcala_de_henares",
                  "las_palmas_de_gran_canaria",
                  "valladolid",
                  "vigo",
                  "thessaloniki",
                  "katowice",
                  "almeria",
                  "amsterdam",
                  "santander",
                  "san_sebastian",
                  "genoa",
                  "a_coruna",
                  "lublin",
                  "huelva",
                  "jaen",
                  "pamplona",
                  "palma_de_mallorca",
                  "ghent",
                  "marseille",
                  "nottingham",
                  "cartagena",
                  "ljubljana",
                  "toulouse",
                  "glasgow",
                  "graz",
                  "copenhagen",
                  "nicosia",
                  "stockholm",
                  "edinburgh",
                  "rotterdam",
                  "zagreb",
                  "santa_cruz_de_tenerife",
                  "manchester",
                  "setubal",
                  "zurich",
                  "kaunas",
                  "sofia",
                  "trento",
                  "galway",
                  "leipzig",
                  "luxembourg",
                  "tallinn",
                  "saint_julians",
                  "valletta",
                  "brescia",
                  "cagliari"
                ]
              },
              "postalCode": {
                "type": "string"
              },
              "latitude": {
                "type": "number",
                "description": "Between -90 and 90"
              },
              "longitude": {
                "type": "number",
                "description": "Between -180 and 180"
              }
            },
            "required": [
              "addressLine1",
              "city",
              "cityId",
              "postalCode",
              "latitude",
              "longitude"
            ]
          },
          "totalUnits": {
            "type": "number"
          },
          "rentableUnits": {
            "type": "number"
          },
          "numberOfProperties": {
            "type": "number"
          },
          "templateName": {
            "type": "string"
          }
        },
        "required": [
          "ownerId",
          "type",
          "location",
          "numberOfProperties",
          "templateName"
        ]
      }
    }
  },
  "required": [
    "propertyTemplates"
  ]
}
Response  202
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  422
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 422,
  "title": "Unprocessable Entity",
  "type": "`http://www.w3.org/Protocols/rfc2616/rfc2616",
  "validationMessages": {
    "field": {
      "stringLength": "The input is less than 6 characters long"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string",
      "description": "sec10.html (string, required)"
    },
    "validationMessages": {
      "type": "object",
      "properties": {
        "field": {
          "type": "object",
          "properties": {
            "stringLength": {
              "type": "string"
            }
          },
          "required": [
            "stringLength"
          ]
        }
      },
      "description": "Contains a property for each field that failed validation."
    }
  },
  "required": [
    "detail",
    "status",
    "title"
  ]
}

Event Store

Event Store

View events
GET/event-store/{fromEventId}/{toEventId}{?typename}

Example URI

GET https://listings.spotahome.com/event-store/27/89?typename=SAH\Listings\Domain\PhotoSession\PhotoSessionWasMigrated
URI Parameters
HideShow
fromEventId
number (required) Example: 27
toEventId
number (required) Example: 89
typename
array[string] (optional) Example: SAH\Listings\Domain\PhotoSession\PhotoSessionWasMigrated
Request
HideShow
Headers
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "events": [
    {
      "id": "12345",
      "typeName": "SAH\\Listings\\Domain\\PhotoSession\\PhotoSessionWasMigrated",
      "occurredOn": "2018-03-06T17:16:28+00:00",
      "eventBody": {}
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "typeName": {
            "type": "string"
          },
          "occurredOn": {
            "type": "string"
          },
          "eventBody": {
            "type": "object",
            "properties": {}
          }
        },
        "required": [
          "id",
          "typeName",
          "occurredOn",
          "eventBody"
        ]
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Verification

Verification Request

Create new verification request
POST/verification-request

Example URI

POST https://listings.spotahome.com/verification-request
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "listingId": "123456",
  "bookingStartDate": "2022-01-01",
  "bookingEndDate": "2022-05-30"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "listingId": {
      "type": "string"
    },
    "bookingStartDate": {
      "type": "string"
    },
    "bookingEndDate": {
      "type": "string"
    }
  },
  "required": [
    "listingId"
  ]
}
Response  201
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request could not be understood by the server due to malformed syntax",
  "status": 400,
  "title": "Bad Request",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Listing Score

Listing Score

Recalculate Listing Score
PUT/listings/{listingId}/scoring

Example URI

PUT https://listings.spotahome.com/listings/123456/scoring
URI Parameters
HideShow
listingId
string (required) Example: 123456
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  204
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

View one Listing Score
GET/listings/{listingId}/scoring

Example URI

GET https://listings.spotahome.com/listings/123456/scoring
URI Parameters
HideShow
listingId
string (required) Example: 123456
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Body
{
  "name": "standard",
  "select": "Hello, world!",
  "listingId": "Hello, world!",
  "currentPrice": 1,
  "pricePercentile": 1,
  "priceCalculatedAt": "Hello, world!",
  "pricePoints": 1,
  "price": "Hello, world!",
  "lastCalendarUpdated": "Hello, world!",
  "lastCalendarUpdatedDate": "Hello, world!",
  "lastCalendarUpdatedPoints": 1,
  "verified": "Hello, world!",
  "verifiedPoints": 1,
  "noAdminFee": "Hello, world!",
  "noAdminFeePoints": 1,
  "noSecurityDeposit": "Hello, world!",
  "noSecurityDepositPoints": 1,
  "allBillsIncluded": "Hello, world!",
  "allBillsIncludedPoints": 1,
  "offerIncluded": "Hello, world!",
  "offerIncludedPoints": 1,
  "noSeasonalPrice": "Hello, world!",
  "noSeasonalPricePoints": 1,
  "instantBookingEnabled": "Hello, world!",
  "instantBookingEnabledPoints": 1,
  "energyCertificateIncluded": "Hello, world!",
  "energyCertificateIncludedPoints": 1,
  "totalScore": 1,
  "totalScoreLabel": "not_optimized"
}
Schema
{
  "type": "object",
  "properties": {
    "name": {
      "enum": [
        "standard",
        "premium"
      ]
    },
    "select": {
      "type": "string"
    },
    "listingId": {
      "type": "string"
    },
    "currentPrice": {
      "type": "number"
    },
    "pricePercentile": {
      "type": "number"
    },
    "priceCalculatedAt": {
      "type": "string"
    },
    "pricePoints": {
      "type": "number"
    },
    "price": {
      "type": "string"
    },
    "lastCalendarUpdated": {
      "type": "string"
    },
    "lastCalendarUpdatedDate": {
      "type": "string"
    },
    "lastCalendarUpdatedPoints": {
      "type": "number"
    },
    "verified": {
      "type": "string"
    },
    "verifiedPoints": {
      "type": "number"
    },
    "noAdminFee": {
      "type": "string"
    },
    "noAdminFeePoints": {
      "type": "number"
    },
    "noSecurityDeposit": {
      "type": "string"
    },
    "noSecurityDepositPoints": {
      "type": "number"
    },
    "allBillsIncluded": {
      "type": "string"
    },
    "allBillsIncludedPoints": {
      "type": "number"
    },
    "offerIncluded": {
      "type": "string"
    },
    "offerIncludedPoints": {
      "type": "number"
    },
    "noSeasonalPrice": {
      "type": "string"
    },
    "noSeasonalPricePoints": {
      "type": "number"
    },
    "instantBookingEnabled": {
      "type": "string"
    },
    "instantBookingEnabledPoints": {
      "type": "number"
    },
    "energyCertificateIncluded": {
      "type": "string"
    },
    "energyCertificateIncludedPoints": {
      "type": "number"
    },
    "totalScore": {
      "type": "number"
    },
    "totalScoreLabel": {
      "enum": [
        "not_optimized",
        "very_low",
        "low",
        "intermediate",
        "high",
        "very_high"
      ]
    }
  },
  "required": [
    "name",
    "listingId",
    "currentPrice",
    "pricePercentile",
    "priceCalculatedAt",
    "pricePoints",
    "price",
    "lastCalendarUpdated",
    "lastCalendarUpdatedDate",
    "lastCalendarUpdatedPoints",
    "verified",
    "verifiedPoints",
    "noAdminFee",
    "noAdminFeePoints",
    "noSecurityDeposit",
    "noSecurityDepositPoints",
    "allBillsIncluded",
    "allBillsIncludedPoints",
    "offerIncluded",
    "offerIncludedPoints",
    "noSeasonalPrice",
    "noSeasonalPricePoints",
    "instantBookingEnabled",
    "instantBookingEnabledPoints",
    "energyCertificateIncluded",
    "energyCertificateIncludedPoints",
    "totalScore",
    "totalScoreLabel"
  ],
  "$schema": "http://json-schema.org/draft-04/schema#"
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Forbidden access",
  "status": 403,
  "title": "Forbidden",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The resource was not found",
  "status": 404,
  "title": "Not Found",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

User listing scores

Get all listing scores for logged user
GET/listings/me/scoring{?listingIds}

Example URI

GET https://listings.spotahome.com/listings/me/scoring?listingIds=123456
URI Parameters
HideShow
listingIds
array[string] (optional) Example: 123456

Criteria by listing ids.

itemsPerPage
number (optional) Example: 1
page
number (optional) Example: 1
sortBy
enum [string] (optional) Example: totalScore
  • totalScore
sortType
enum [string] (optional) Example: asc
  • asc

  • desc

Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 2,
  "_links": {
    "self": {
      "href": "/listings/me/scoring?page=1"
    },
    "first": {
      "href": "/listings/me/scoring?page=1"
    },
    "last": {
      "href": "/listings/me/scoring?page=2"
    },
    "next": {
      "href": "/listings/me/scoring?page=1"
    },
    "previous": {
      "href": "/listings/me/scoring?page=2"
    }
  },
  "_embedded": {
    "sah:listings:score": [
      {
        "name": "standard",
        "select": "Hello, world!",
        "listingId": "Hello, world!",
        "currentPrice": 1,
        "pricePercentile": 1,
        "priceCalculatedAt": "Hello, world!",
        "pricePoints": 1,
        "price": "Hello, world!",
        "lastCalendarUpdated": "Hello, world!",
        "lastCalendarUpdatedDate": "Hello, world!",
        "lastCalendarUpdatedPoints": 1,
        "verified": "Hello, world!",
        "verifiedPoints": 1,
        "noAdminFee": "Hello, world!",
        "noAdminFeePoints": 1,
        "noSecurityDeposit": "Hello, world!",
        "noSecurityDepositPoints": 1,
        "allBillsIncluded": "Hello, world!",
        "allBillsIncludedPoints": 1,
        "offerIncluded": "Hello, world!",
        "offerIncludedPoints": 1,
        "noSeasonalPrice": "Hello, world!",
        "noSeasonalPricePoints": 1,
        "instantBookingEnabled": "Hello, world!",
        "instantBookingEnabledPoints": 1,
        "energyCertificateIncluded": "Hello, world!",
        "energyCertificateIncludedPoints": 1,
        "totalScore": 1,
        "totalScoreLabel": "not_optimized"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "first": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "last": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "next": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        },
        "previous": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self",
        "first",
        "last"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "sah:listings:score": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "enum": [
                  "standard",
                  "premium"
                ]
              },
              "select": {
                "type": "string"
              },
              "listingId": {
                "type": "string"
              },
              "currentPrice": {
                "type": "number"
              },
              "pricePercentile": {
                "type": "number"
              },
              "priceCalculatedAt": {
                "type": "string"
              },
              "pricePoints": {
                "type": "number"
              },
              "price": {
                "type": "string"
              },
              "lastCalendarUpdated": {
                "type": "string"
              },
              "lastCalendarUpdatedDate": {
                "type": "string"
              },
              "lastCalendarUpdatedPoints": {
                "type": "number"
              },
              "verified": {
                "type": "string"
              },
              "verifiedPoints": {
                "type": "number"
              },
              "noAdminFee": {
                "type": "string"
              },
              "noAdminFeePoints": {
                "type": "number"
              },
              "noSecurityDeposit": {
                "type": "string"
              },
              "noSecurityDepositPoints": {
                "type": "number"
              },
              "allBillsIncluded": {
                "type": "string"
              },
              "allBillsIncludedPoints": {
                "type": "number"
              },
              "offerIncluded": {
                "type": "string"
              },
              "offerIncludedPoints": {
                "type": "number"
              },
              "noSeasonalPrice": {
                "type": "string"
              },
              "noSeasonalPricePoints": {
                "type": "number"
              },
              "instantBookingEnabled": {
                "type": "string"
              },
              "instantBookingEnabledPoints": {
                "type": "number"
              },
              "energyCertificateIncluded": {
                "type": "string"
              },
              "energyCertificateIncludedPoints": {
                "type": "number"
              },
              "totalScore": {
                "type": "number"
              },
              "totalScoreLabel": {
                "type": "string",
                "enum": [
                  "not_optimized",
                  "very_low",
                  "low",
                  "intermediate",
                  "high",
                  "very_high"
                ]
              }
            },
            "required": [
              "name",
              "listingId",
              "currentPrice",
              "pricePercentile",
              "priceCalculatedAt",
              "pricePoints",
              "price",
              "lastCalendarUpdated",
              "lastCalendarUpdatedDate",
              "lastCalendarUpdatedPoints",
              "verified",
              "verifiedPoints",
              "noAdminFee",
              "noAdminFeePoints",
              "noSecurityDeposit",
              "noSecurityDepositPoints",
              "allBillsIncluded",
              "allBillsIncludedPoints",
              "offerIncluded",
              "offerIncludedPoints",
              "noSeasonalPrice",
              "noSeasonalPricePoints",
              "instantBookingEnabled",
              "instantBookingEnabledPoints",
              "energyCertificateIncluded",
              "energyCertificateIncludedPoints",
              "totalScore",
              "totalScoreLabel"
            ]
          }
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Forbidden access",
  "status": 403,
  "title": "Forbidden",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Listing Score Fields Values

View Listing Score Fields
GET/listings/scoring/fields

Example URI

GET https://listings.spotahome.com/listings/scoring/fields
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "name": "price",
    "score": 20,
    "days": 30,
    "options": [
      {
        "percentile": 1,
        "score": 1
      }
    ]
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string"
      },
      "score": {
        "type": "number"
      },
      "days": {
        "type": "number"
      },
      "options": {
        "type": "array"
      }
    },
    "required": [
      "name"
    ]
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Listing Score Fields Statuses

View Listing Score Statuses
GET/listings/scoring/statuses

Example URI

GET https://listings.spotahome.com/listings/scoring/statuses
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "label": "low",
    "maxValue": 39
  }
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "label": {
        "type": "string"
      },
      "maxValue": {
        "type": "number"
      }
    },
    "required": [
      "label",
      "maxValue"
    ]
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Unauthorized user",
  "status": 401,
  "title": "Unauthorized",
  "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "detail": {
      "type": "string"
    },
    "status": {
      "type": "number"
    },
    "title": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "detail",
    "status",
    "title",
    "type"
  ]
}

Domain Events

Listing BC domain events

PropertyWasCreated

{
    'id' : '100153',
    'owner' : '845cd158-ea91-45f9-a30d-f4a1b7deb3aa',
    'type' : 'sharedRooms',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'totalUnits' : 10,
    'rentableUnits' : 10,
    'location':
        {
            'addressLine1': 'Avenida de la Palmera, 60',
            'addressLine2': '1º Izquierda',
            'postalCode': '41013',
            'city': 'Sevilla',
            'cityId': 'seville',
            'neighbourhoodId': 'ad63e5f4-842d-4115-b7cf-efd1ef88c943',
            'country': 'Spain',
            'latitude': 37.3565079,
            'longitude': -5.9839408
        },
    'yearOfConstruction': 1981,
    'source': 'inbound',
    'verified': 'false',
    'isVisitable': false,
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • owner (string, required)

  • type (string, required)

  • user (string, required)

  • totalUnits (number, required)

  • rentableUnits (number, required)

  • location (required)

    • addressLine1 (string, required)
    • addressLine2 (string, nullable, required)
    • postalCode (string, required)
    • city (string, required)
    • cityId (string, required)
    • neighbourhoodId (string, nullable, required)
    • country (string, required)
    • latitude (number, required) - Between -90 and 90
    • longitude (number, required) - Between -180 and 180
  • yearOfConstruction (number, required)

  • source (enum[string], required)

    • inbound
    • outbound
  • verified (boolean, required)

  • isVisitable (boolean, required)

  • occurredOn (string, required)

PropertyWasPublished

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyWasUnpublished

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}

PropertyWasUnpublishedByLandlord

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyWasVerified

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyVerificationWasMigrated

{
    'id' : '100153',
    'verified' : 'false',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • verified (boolean, required)

  • occurredOn (string, required)

PropertyWasArchived

{
    'id' : '100153',
    'reasonToUnpublish' : 'Reason to unpublish',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • reasonToUnpublish (string, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyOwnerWasChanged

{
    'id' : '17e51329-300e-4dca-ae5e-48c6370ba509',
    'ownerId' : '79b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • ownerId (string, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyInformationWasChanged

{
    'id' : '17e51329-300e-4dca-ae5e-48c6370ba509',
    'yearOfConstruction' : 1981,
    'isVisitable' : false,
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • yearOfConstruction (number, required)

  • isVisitable: false (boolean, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyLocationWasChanged

{
  'id': '100153',
  'user': 'fe64608c-855b-4468-ad74-52bd68ec47da',
  'location': {
    'addressLine1': 'Avenida de la Palmera, 39',
    'addressLine2': 'Bajo',
    'postalCode': '41013',
    'city': 'Sevilla',
    'cityId': 'seville',
    'neighbourhoodId': 'ad63e5f4-842d-4115-b7cf-efd1ef88c943',
    'country': 'Spain',
    'latitude': 37.356507999999998,
    'longitude': -5.9839409999999997
  },
  'occurredOn': '2018-01-16T15:58:12+00:00'
}
  • id (string, required)

  • user (string, required)

  • location (required)

    • addressLine1 (string, required)
    • addressLine2 (string, nullable, required)
    • postalCode (string, required)
    • city (string, required)
    • cityId (string, required)
    • neighbourhoodId (string, nullable, required)
    • country (string, required)
    • latitude (number, required) - Between -90 and 90
    • longitude (number, required) - Between -180 and 180
  • occurredOn (string, required)

PropertyMultiListingUnitsCounterWasChanged

{
    'id' : '17e51329-300e-4dca-ae5e-48c6370ba509',
    'unitsNumber' : 5,
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • unitsCounter (number, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyWasMigrated

{
    'id' : '100153',
    'owner' : '845cd158-ea91-45f9-a30d-f4a1b7deb3aa',
    'type' : 'sharedRooms',
    'totalUnits' : 10,
    'rentableUnits' : 10,
    'publishedUnits' : 10,
    'location':
        {
            'addressLine1': 'Avenida de la Palmera, 60',
            'addressLine2': '1º Izquierda',
            'city': 'Sevilla',
            'cityId': 'seville',
            'postalCode': '41013',
            'country': 'Spain',
            'latitude': 37.3565079,
            'longitude': -5.9839408
        },
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • owner (string, required)

  • type (enum[string], optional)

    • Members
      • apartment
      • studio
      • roomShared
      • residence
  • totalUnits (number, required)

  • rentableUnits (number, required)

  • publishedUnits (number, required)

  • location (required)

    • addressLine1 (string, required)
    • addressLine2 (string, optional)
    • city (string, required)
    • cityId (string, required)
    • postalCode (string, required)
    • country (string, required)
    • latitude (number, required) - Between -90 and 90
    • longitude (number, required) - Between -180 and 180
  • occurredOn (string, required)

UnitWasAdded

{
    'id' : '100153',
    'propertyId' : '17e51329-300e-4dca-ae5e-48c6370ba509',
    'type' : 'whole',
    'state' : 'unpublished',
    'disabled' : 'false',
    'verified' : 'true',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • propertyId (string, required)

  • type (enum[string], optional)

    • Members
      • whole
      • room
      • bed
  • state (enum[string], optional)

    • Members
      • unpublished
      • published
      • archived
  • disabled (boolean, required)

  • verified (boolean, required)

  • user (string, required)

  • occurredOn (string, required)

UnitWasPublished

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

UnitWasUnpublished

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'reasonToUnpublish' : 'phantomPropertyFakeLandlord',
    'reasonToUnpublishExtraInfo' : '',
    'occurredOn': '2017-07-25T14:26:17+00:00'
    'effectiveDate': '2017-07-25T14:26:17+00:00'
}

UnitWasUnpublishedByLandlord

{
    'id' : '100153',
    'reasonToUnpublish' : 'llUnhappyWithSah',
    'reasonToUnpublishExtraInfo' : 'extraInfo',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

UnitWasVerified

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

UnitVerificationWasMigrated

{
    'id' : '100153',
    'verified' : 'false',
    'occurredOn': '2017-07-25T14:26:17+00:00',
}
  • id (string, required)

  • verified (boolean, required)

  • occurredOn (string, required)

UnitWasArchived

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

UnitWasEnabled

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

UnitWasDisabled

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

UnitWasDeleted

{
    'id' : '100153',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

UnitAdditionalDataWasMigrated

{
    'id' : '100153',
    'area' : 10,
    'reference' : 'reference content'',
    'numberOfBathrooms' : 1,
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',,
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • area (integer, nullable, required)

  • reference (string, nullable, required)

  • numberOfBathrooms (integer, nullable, required)

  • user (string, required)

  • occurredOn (string, required)

UnitCopyWasUpdated

{
  'id': 'f6e0a489-476e-4fa4-8018-dd420c9c7dc4',
  'copy': {
    'title': [
      {
        'locale': 'en',
        'text': 'title'
      },
      {
        'locale': 'es',
        'text': 'título'
      }
    ],
    'cardTitle': [
      {
        'locale': 'en',
        'text': 'card title'
      },
      {
        'locale': 'es',
        'text': 'título'
      }
    ],
    'header': [
      {
        'locale': 'en',
        'text': 'header'
      },
      {
        'locale': 'es',
        'text': 'cabecera'
      }
    ],
    'description': [
      {
        'locale': 'en',
        'text': 'description'
      },
      {
        'locale': 'es',
        'text': 'descripción'
      }
    ],
    'videoTranscription': [
      {
        'locale': 'en',
        'text': 'video transcription'
      },
      {
        'locale': 'es',
        'text': 'transcripción del video'
      }
    ],
    'whatWeLikedMost': [
      {
        'locale': 'en',
        'text': 'what we liked most'
      },
      {
        'locale': 'es',
        'text': 'lo que más nos gustó'
      }
    ],
    'thingsToKeepInMind': [
      {
        'locale': 'en',
        'text': 'things to keep in mind'
      },
      {
        'locale': 'es',
        'text': 'cosas a tener en cuenta'
      }
    ],
    'additionalDetails': [
      {
        'locale': 'en',
        'text': 'additional details'
      },
      {
        'locale': 'es',
        'text': 'detalles adicionales'
      }
    ],
    'flatmates': [
      {
        'locale': 'en',
        'text': 'flatmates'
      },
      {
        'locale': 'es',
        'text': 'compañeros de piso'
      }
    ],
    'landlordPolicies': [
      {
        'locale': 'en',
        'text': 'landlord policies'
      },
      {
        'locale': 'es',
        'text': 'politicas del casero'
      }
    ],
    'transportation': [
      {
        'locale': 'en',
        'text': 'transportation'
      },
      {
        'locale': 'es',
        'text': 'transporte'
      }
    ],
    'neighborhoodDescription': [
      {
        'locale': 'en',
        'text': 'neighborhood description'
      },
      {
        'locale': 'es',
        'text': 'descripción del barrio'
      }
    ],
    'neighborhoodVideo': [
      {
        'locale': 'en',
        'text': 'neighborhood video'
      },
      {
        'locale': 'es',
        'text': 'vídeo del barrio'
      }
    ],
    'importantInformation': [
      {
        'locale': 'en',
        'text': 'important information'
      },
      {
        'locale': 'es',
        'text': 'información importante'
      }
    ],
    'metaTitle': [
      {
        'locale': 'en',
        'text': 'meta title'
      },
      {
        'locale': 'es',
        'text': 'meta título'
      }
    ],
    'metaDescription': [
      {
        'locale': 'en',
        'text': 'meta description'
      },
      {
        'locale': 'es',
        'text': 'meta descripción'
      }
    ]
  },
  'user': 'fe64608c-855b-4468-ad74-52bd68ec47da',
  'occurredOn': '2017-11-16T16:08:39+00:00'
}
  • id (string, required)

  • copy (object, required)

    • title (array, required)
    • cardTitle (array, optional)
    • header (array, optional)
    • description (array, required)
    • videoTranscription (array, optional)
    • whatWeLikedMost (array, optional)
    • thingsToKeepInMind (array, optional)
    • additionalDetails (array, optional)
    • flatmates (array, optional)
    • landlordPolicies (array, optional)
    • transportation (array, optional)
    • neighborhoodDescription (array, optional)
    • neighborhoodVideo (array, optional)
    • metaTitle (array, required)
    • metaDescription (array, required)
  • user (string, required)

  • occurredOn (string, required)

UnitWasMigrated

{
    'id' : '100153',
    'type' : 'whole',
    'deleted' : false,
    'disabled' : true,
    'copy': {
        'title': [
          {
            'locale': 'en',
            'text': 'title'
          },
          {
            'locale': 'es',
            'text': 'título'
          }
        ],
        'cardTitle': [
          {
            'locale': 'en',
            'text': 'card title'
          },
          {
            'locale': 'es',
            'text': 'título'
          }
        ],
        'header': [
          {
            'locale': 'en',
            'text': 'header'
          },
          {
            'locale': 'es',
            'text': 'cabecera'
          }
        ],
        'description': [
          {
            'locale': 'en',
            'text': 'description'
          },
          {
            'locale': 'es',
            'text': 'descripción'
          }
        ],
        'videoTranscription': [
          {
            'locale': 'en',
            'text': 'video transcription'
          },
          {
            'locale': 'es',
            'text': 'transcripción del video'
          }
        ],
        'whatWeLikedMost': [
          {
            'locale': 'en',
            'text': 'what we liked most'
          },
          {
            'locale': 'es',
            'text': 'lo que más nos gustó'
          }
        ],
        'thingsToKeepInMind': [
          {
            'locale': 'en',
            'text': 'things to keep in mind'
          },
          {
            'locale': 'es',
            'text': 'cosas a tener en cuenta'
          }
        ],
        'additionalDetails': [
          {
            'locale': 'en',
            'text': 'additional details'
          },
          {
            'locale': 'es',
            'text': 'detalles adicionales'
          }
        ],
        'flatmates': [
          {
            'locale': 'en',
            'text': 'flatmates'
          },
          {
            'locale': 'es',
            'text': 'compañeros de piso'
          }
        ],
        'landlordPolicies': [
          {
            'locale': 'en',
            'text': 'landlord policies'
          },
          {
            'locale': 'es',
            'text': 'politicas del casero'
          }
        ],
        'transportation': [
          {
            'locale': 'en',
            'text': 'transportation'
          },
          {
            'locale': 'es',
            'text': 'transporte'
          }
        ],
        'neighborhoodDescription': [
          {
            'locale': 'en',
            'text': 'neighborhood description'
          },
          {
            'locale': 'es',
            'text': 'descripción del barrio'
          }
        ],
        'neighborhoodVideo': [
          {
            'locale': 'en',
            'text': 'neighborhood video'
          },
          {
            'locale': 'es',
            'text': 'vídeo del barrio'
          }
        ],
        'importantInformation': [
          {
            'locale': 'en',
            'text': 'important information'
          },
          {
            'locale': 'es',
            'text': 'información importante'
          }
        ],
        'metaTitle': [
          {
            'locale': 'en',
            'text': 'meta title'
          },
          {
            'locale': 'es',
            'text': 'meta título'
          }
        ],
        'metaDescription': [
          {
            'locale': 'en',
            'text': 'meta description'
          },
          {
            'locale': 'es',
            'text': 'meta descripción'
          }
        ]
      },
    'state' : 'unpublished',
    'unitFeatures' : [
       {
         'appplicability': 'property',
         'category': 'suitability',
         'name': 'professionals',
         'value': 'yes'
       }
     ],
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • type (enum[string], optional)

    • Members
      • whole
      • room
      • bed
  • deleted (boolean, required)

  • disabled (boolean, required)

  • copy (object, required)

    • title (array, required)
    • cardTitle (array, optional)
    • header (array, optional)
    • description (array, required)
    • videoTranscription (array, optional)
    • whatWeLikedMost (array, optional)
    • thingsToKeepInMind (array, optional)
    • additionalDetails (array, optional)
    • flatmates (array, optional)
    • landlordPolicies (array, optional)
    • transportation (array, optional)
    • neighborhoodDescription (array, optional)
    • neighborhoodVideo (array, optional)
    • metaTitle (array, required)
    • metaDescription (array, required)
  • state (enum[string], optional)

    • Members
      • unpublished
      • published
      • archived
  • unitFeatures (array, required)

    • (object)
      • applicability (string, required)
      • category (string, required)
      • name (string, required)
      • value (string, required)
  • occurredOn (string, required)

UnitDataWasMigrated

{
    'id' : '100153',
    'type' : 'whole',
    'deleted' : false,
    'disabled' : true,
    'copy': {
        'title': [
          {
            'locale': 'en',
            'text': 'title'
          },
          {
            'locale': 'es',
            'text': 'título'
          }
        ],
        'cardTitle': [
          {
            'locale': 'en',
            'text': 'card title'
          },
          {
            'locale': 'es',
            'text': 'título'
          }
        ],
        'header': [
          {
            'locale': 'en',
            'text': 'header'
          },
          {
            'locale': 'es',
            'text': 'cabecera'
          }
        ],
        'description': [
          {
            'locale': 'en',
            'text': 'description'
          },
          {
            'locale': 'es',
            'text': 'descripción'
          }
        ],
        'videoTranscription': [
          {
            'locale': 'en',
            'text': 'video transcription'
          },
          {
            'locale': 'es',
            'text': 'transcripción del video'
          }
        ],
        'whatWeLikedMost': [
          {
            'locale': 'en',
            'text': 'what we liked most'
          },
          {
            'locale': 'es',
            'text': 'lo que más nos gustó'
          }
        ],
        'thingsToKeepInMind': [
          {
            'locale': 'en',
            'text': 'things to keep in mind'
          },
          {
            'locale': 'es',
            'text': 'cosas a tener en cuenta'
          }
        ],
        'additionalDetails': [
          {
            'locale': 'en',
            'text': 'additional details'
          },
          {
            'locale': 'es',
            'text': 'detalles adicionales'
          }
        ],
        'flatmates': [
          {
            'locale': 'en',
            'text': 'flatmates'
          },
          {
            'locale': 'es',
            'text': 'compañeros de piso'
          }
        ],
        'landlordPolicies': [
          {
            'locale': 'en',
            'text': 'landlord policies'
          },
          {
            'locale': 'es',
            'text': 'politicas del casero'
          }
        ],
        'transportation': [
          {
            'locale': 'en',
            'text': 'transportation'
          },
          {
            'locale': 'es',
            'text': 'transporte'
          }
        ],
        'neighborhoodDescription': [
          {
            'locale': 'en',
            'text': 'neighborhood description'
          },
          {
            'locale': 'es',
            'text': 'descripción del barrio'
          }
        ],
        'neighborhoodVideo': [
          {
            'locale': 'en',
            'text': 'neighborhood video'
          },
          {
            'locale': 'es',
            'text': 'vídeo del barrio'
          }
        ],
        'importantInformation': [
          {
            'locale': 'en',
            'text': 'important information'
          },
          {
            'locale': 'es',
            'text': 'información importante'
          }
        ],
        'metaTitle': [
          {
            'locale': 'en',
            'text': 'meta title'
          },
          {
            'locale': 'es',
            'text': 'meta título'
          }
        ],
        'metaDescription': [
          {
            'locale': 'en',
            'text': 'meta description'
          },
          {
            'locale': 'es',
            'text': 'meta descripción'
          }
        ]
      },
    'state' : 'unpublished',
    'unitFeatures' : [
       {
         'applicability': 'property',
         'category': 'suitability',
         'name': 'professionals',
         'value': 'yes'
       }
    ],
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • type (enum[string], optional)

    • Members
      • whole
      • room
      • bed
  • deleted (boolean, required)

  • disabled (boolean, required)

  • copy (object, required)

    • title (array, required)
    • cardTitle (array, optional)
    • header (array, optional)
    • description (array, required)
    • videoTranscription (array, optional)
    • whatWeLikedMost (array, optional)
    • thingsToKeepInMind (array, optional)
    • additionalDetails (array, optional)
    • flatmates (array, optional)
    • landlordPolicies (array, optional)
    • transportation (array, optional)
    • neighborhoodDescription (array, optional)
    • neighborhoodVideo (array, optional)
    • metaTitle (array, required)
    • metaDescription (array, required)
  • state (enum[string], optional)

    • Members
      • unpublished
      • published
      • archived
  • unitFeatures (array, required)

    • (object)
      • applicability (string, required)
      • category (string, required)
      • name (string, required)
      • value (string, required)
  • occurredOn (string, required)

CopywriterWasRegistered

{
  'id': '220426b9-32df-4c89-94eb-651df073b1fd',
  'email': 'ash@kanto.com',
  'firstName': 'Ash',
  'lastName': 'Ketchum',
  'occurredOn': '2017-11-20T15:14:12+00:00'
}
  • id (string, required)

  • email (string, required)

  • firstName (string, required)

  • lastName (string, required)

  • occurredOn (string, required)

CopywriterWasEnabled

{
  'id': '220426b9-32df-4c89-94eb-651df073b1fd',
  'occurredOn': '2017-11-20T15:14:12+00:00'
}
  • id (string, required)

  • occurredOn (string, required)

CopywriterWasDisabled

{
  'id': '220426b9-32df-4c89-94eb-651df073b1fd',
  'occurredOn': '2017-11-20T15:14:12+00:00'
}
  • id (string, required)

  • occurredOn (string, required)

CopywriterProfilePictureWasAssigned

{
  'id': '220426b9-32df-4c89-94eb-651df073b1fd',
  'profilePicture': '220426b9-32df-4c89-94eb-651df073b1fd.jpg',
  'occurredOn': '2017-11-20T15:14:12+00:00'
}
  • id (string, required)

  • profilePicture (string, required)

  • occurredOn (string, required)

EditionWasRequested

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'propertyId' : '87656',
    'type' : 'property',
    'referenceId' : 'uy0c466a-4f63-4353-a0c5-29871c11b200',
    'notes' : 'Coming from Photo Session',
    'priority' : 'low',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • propertyId (string, required)

  • type (string, required)

  • referenceId (string, required)

  • notes (string, required)

  • priority (string, required)

  • user (string, required)

  • occurredOn (string, required)

EditionRequestWasAssigned

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'copywriterId' : 'fc0c4876-4f63-4353-a0c5-29871c00b200',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • copywriterId (string, required)

  • user (string, required)

  • occurredOn (string, required)

EditionWasStarted

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

EditionWasFinished

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

EditionRequestWasRejected

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'reason' : 'I didn't do it',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • reason (string, required)

  • user (string, required)

  • occurredOn (string, required)

EditionRequestWasResolved

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

EditionRequestWasCancelled

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • user (string, required)

  • occurredOn (string, required)

EditionRequestWasMigrated

{
    'id' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'propertyId' : '87656',
    'referenceId' : '17e51329-300e-4dca-ae5e-48c6370ba509',
    'copywriterId' : '220426b9-32df-4c89-94eb-651df073b1fd',
    'type' : 'property',
    'notes' : 'Coming from Photo Session',
    'requestedAt': '2017-07-25T14:26:17+00:00'
    'requesterId' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (string, required)

  • propertyId (string, required)

  • referenceId (string, required)

  • copywriterId (string, optional)

  • type (string, required)

  • notes (string, optional)

  • requestedAt (string, required)

  • requesterId (string, required)

  • occurredOn (string, required)

MultiListingPropertyCreationWasStarted

{
    'multiListingId' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'propertyTemplateId' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'ownerId' : '17e51329-300e-4dca-ae5e-48c6370ba509',
    'propertyId' : '87344',
    'propertyType' : 'apartment',
    'location': {
        'addressLine1': 'Avenida de la Palmera, 39',
        'addressLine2': 'Bajo',
        'postalCode': '41013',
        'city': 'Sevilla',
        'cityId': 'seville',
        'latitude': 37.356507999999998,
        'longitude': -5.9839409999999997
      },
    'totalUnits' : 3,
    'rentableUnits': 2,
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • multiListingId (string, required)

  • propertyTemplateId (string, required)

  • ownerId (string, required)

  • propertyId (string, optional)

  • propertyType (string, required)

  • location (required)

    • addressLine1 (string, required)
    • addressLine2 (string, nullable, required)
    • postalCode (string, required)
    • city (string, required)
    • cityId (string, required)
    • neighbourhoodId (string, nullable, required)
    • country (string, required)
    • latitude (number, required) - Between -90 and 90
    • longitude (number, required) - Between -180 and 180
  • totalUnits (number, required)

  • rentableUnits (number, required)

  • user (string, required)

  • occurredOn (string, required)

MultiListingTemplateWasUpdated

{
    'multiListingId' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'propertyTemplateId' : 'fc0c466a-4f63-4353-a0c5-29871c00b200',
    'propertyId' : '87656',
    'unitId' : '87656',
    'user' : '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • multiListingId (string, required)

  • propertyTemplateId (string, required)

  • propertyId (string, required)

  • unitId (string, required)

  • user (string, required)

  • occurredOn (string, required)

ListingProcessWasInitiated

{
    'id' : 111,
    'accountId' : '17e51329-300e-4dca-ae5e-48c6370ba509',
    'propertyId': '220426b9-32df-4c89-94eb-651df073b1fd',
    'state' : 'waitingProperty',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (int, required)

  • accountId (string, required)

  • propertyId (string, nullable, required)

  • state (string, required)

  • occurredOn (string, required)

ListingProcessWasCancelled

{
    'id' : 111,
    'state' : 'cancelled',
    'user': '80b3d33b-6632-4e60-9auy-4c32342a0b1b',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (int, required)

  • state (string, required)

  • user (string, required)

  • occurredOn (string, required)

PropertyWasRegisteredOnListingProcess

{
    'id' : 111,
    'propertyId' : '220426b9-32df-4c89-94eb-651df073b1fd',
    'state' : 'waitingContent',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (int, required)

  • propertyId (string, required)

  • state (string, required)

  • occurredOn (string, required)

PropertyPublicationWasRegisteredOnListingProcess

{
    'id' : 111,
    'state' : 'publishedUnverified',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (int, required)

  • state (string, required)

  • occurredOn (string, required)

PropertyWasVerifiedOnListingProcess

{
    'id' : 111,
    'state' : 'publishedVerified',
    'occurredOn': '2017-07-25T14:26:17+00:00'
}
  • id (int, required)

  • state (string, required)

  • occurredOn (string, required)

VerificationRequestWasRequested

{
    'id': 'bf5ae5c3-0e0b-4beb-88f2-6d2d8fbb8041',
    'listingId': '123456',
    'occurredOn': '2021-07-27T14:26:17+00:00'
}
  • id (string, required)

  • listingId (string, required)

  • occurredOn (string, required)

VerificationRequestWasAdded

{
    'id' => 'bf5ae5c3-0e0b-4beb-88f2-6d2d8fbb8041',
    'listingId' => '123456',
    'requesterId' => 'bad158d4-e350-4064-9c40-4924dc456c4a',
    'bookingStartDate' => '2022-01-01'
    'bookingEndDate' => '2022-03-31'
    'occurredOn' => '2021-07-27T14:26:17+00:00'
}
  • id (string, required)

  • listingId (string, required)

  • requesterId (string, required)

  • bookingStartDate (string, nullable, required)

  • bookingEndDate (string, nullable, required)

  • occurredOn (string, required)

ListingScoreWasCalculated

{
   'listingId':'208383',
   'priceStatusCurrentPrice':75000,
   'priceStatusPercentile':50,
   'priceStatusCalculatedAt':'2021-09-07T15:30:30+00:00',
   'calendarLastUpdatedAt':'2021-08-31T14:56:18+00:00',
   'verifiedStatus':'completed',
   'noAdminFeeStatus':'completed',
   'noSecurityDepositStatus':'completed',
   'allBillsIncludedStatus':'pending',
   'offerIncludedStatus':'pending',
   'noSeasonalPriceStatus':'pending',
   'instantBookingEnabledStatus':'pending',
   'energyCertificateIncludedStatus':'pending',
   'totalScore':25.5,
   'totalScoreLabel':'pending',
   'totalScoreCalculatedAt':'2021-08-20T14:56:18+00:00',
   'occurredOn': '2021-08-20T14:56:18+00:00'
}
  • listingId (string, required)

  • priceStatusCurrentPrice (string, required)

  • priceStatusCalculatedAt (string, required)

  • calendarLastUpdatedAt (string, required)

  • verifiedStatus (string, required)

  • noAdminFeeStatus (string, required)

  • noSecurityDepositStatus (string, required)

  • allBillsIncludedStatus (string, required)

  • offerIncludedStatus (string, required)

  • noSeasonalPriceStatus (string, required)

  • instantBookingEnabledStatus (string, required)

  • energyCertificateIncludedStatus (string, required)

  • totalScore (number, required)

  • totalScoreLabel (string, required)

  • totalScoreCalculatedAt (string, required)

  • occurredOn (string, required)

Generated by aglio on 03 Dec 2025