Back to top

RESTful API of Search Bounded Context

Headers

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

Accept: application/json

Cities

Cities

Retrieve all cities
GET/cities

Example URI

GET https://monolith.spotahome.com/api/search/cities
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "valencia": {
        "city": "valencia",
        "country": {
            "countryId": "spain",
            "countryIsoCode": "ES"
        },
        "minimumStaying": 30,
        "areaId": 1,
        "center": {
            "lng": 10.10,
            "lat": 20.10
        },
        "limits": {
            "sw": {
                "lng": 30.10,
                "lat": 40.10
            }
            "ne": {
                 "lng": 50.10,
                 "lat": 60.10
            },
        },
        "currencyIsoCode": "EUR",
        "maximumPrice": 3000
    },
    "vienna": {
        "city": "vienna",
         "country": {
            "countryId": "austria",
            "countryIsoCode": "AT"
        },
        "minimumStaying": 30,
        "areaId": 2,
        "center": {
            "lng": 10.15,
            "lat": 20.15
        },
        "limits": {
            "sw": {
                "lng": 30.15,
                "lat": 40.15
            }
            "ne": {
                 "lng": 50.15,
                 "lat": 60.15
            },
        },
        "currencyIsoCode": "EUR",
        "maximumPrice": 25000
    },
    ...
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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

Retrieve city by ID
GET/cities/{city}

Example URI

GET https://monolith.spotahome.com/api/search/cities/city
URI Parameters
HideShow
city
string (required) Example: city
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
    "city": "valencia",
    "country": {
        "countryId": "spain",
        "countryIsoCode": "ES"
    },
    "minimumStaying": 30,
    "areaId": 1,
    "center": {
        "lng": 10.10,
        "lat": 20.10
    },
    "limits": {
        "sw": {
            "lng": 30.10,
            "lat": 40.10
        }
        "ne": {
             "lng": 50.10,
             "lat": 60.10
        },
    }
    "currencyIsoCode": "EUR",
    "maximumPrice": 9000
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Areas by city

Retrieve areas by city ID
GET/areas/{city}

Example URI

GET https://monolith.spotahome.com/api/search/areas/city
URI Parameters
HideShow
city
string (required) Example: city
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Arganzuela"
  },
  {
    "id": 2,
    "name": "Barajas"
  },
  {
    "id": 3,
    "name": "Carabanchel"
  }
]
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Areas by city v2

Retrieve areas by city ID
GET/areas/v2/{city}

Example URI

GET https://monolith.spotahome.com/api/search/areas/v2/city
URI Parameters
HideShow
city
string (required) Example: city
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Arganzuela"
  },
  {
    "id": 2,
    "name": "Barajas"
  },
  {
    "id": 3,
    "name": "Carabanchel"
  }
]
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Areas by coordinates

Retrieve areas by latitude and longitude
GET/areas/{lat}/{lng}

Example URI

GET https://monolith.spotahome.com/api/search/areas/lat/lng
URI Parameters
HideShow
lat
float (required) Example: lat
lng
float (required) Example: lng
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
    {
        "id": 1025,
        "name": "Ciutat de les Arts i de les Ciencies",
        "cityId": "valencia",
        "type": "barrio",
        "geometry": {
            "type": "Polygon",
            "coordinates": [
                [
                    [
                        -0.35172599999999998,
                        39.453328999999997
                    ],
                    [
                        -0.36631399999999997,
                        39.447093000000002
                    ],
                    ...
                ]
            ]
        },
        "slug": "ciutat-de-les-arts-i-de-les-ciencies"
    }
]
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",
    "title",
    "type"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Business areas

View all business areas
GET/business-areas{?name,cityId,levels,enabled,visible,latitude,longitude,page,itemsPerPage}

Example URI

GET https://monolith.spotahome.com/api/search/business-areas?name=madr&cityId=madrid&levels=1&enabled=false&visible=false&latitude=18.0990&longitude=2.443&page=1&itemsPerPage=100
URI Parameters
HideShow
name
string (optional) Example: madr

Criteria by name like

cityId
string (optional) Example: madrid

Criteria by city id

levels
array[number] (optional) Example: 1

Criteria by levels

enabled
boolean (optional) Example: false

Criteria by enabled

visible
boolean (optional) Example: false

Criteria by visible

latitude
number (optional) Example: 18.0990

Criteria by latitude

longitude
number (optional) Example: 2.443

Criteria by longitude

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:search:areas": [
      {
        "id": 55,
        "name": "anderletch",
        "cityId": "madrid",
        "country": "spain",
        "level": 4,
        "enabled": true,
        "visible": false,
        "position": 1001
      }
    ]
  }
}
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:search:areas": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "number"
              },
              "name": {
                "type": "string"
              },
              "cityId": {
                "type": "string"
              },
              "country": {
                "type": "string"
              },
              "level": {
                "type": "number"
              },
              "enabled": {
                "type": "boolean"
              },
              "visible": {
                "type": "boolean"
              },
              "position": {
                "type": "number"
              }
            },
            "required": [
              "id",
              "name",
              "cityId",
              "country",
              "level",
              "enabled",
              "visible",
              "position"
            ]
          }
        }
      },
      "required": [
        "sah:search:areas"
      ]
    }
  },
  "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",
    "title",
    "type"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Business area

View business area
GET/business-areas/{id}

Example URI

GET https://monolith.spotahome.com/api/search/business-areas/12345
URI Parameters
HideShow
id
number (required) Example: 12345
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "enabled": true,
  "cityId": "madrid"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "cityId": {
      "type": "string"
    }
  },
  "required": [
    "enabled",
    "cityId"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 55,
  "name": "anderletch",
  "cityId": "madrid",
  "country": "spain",
  "level": 4,
  "enabled": true,
  "visible": false,
  "position": 1001,
  "geometry": {
    "type": "Polygon",
    "coordinates": [
      [
        [
          [
            40.43,
            -3.69
          ]
        ]
      ]
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "number"
    },
    "name": {
      "type": "string"
    },
    "cityId": {
      "type": [
        "string",
        "null"
      ]
    },
    "country": {
      "type": "string"
    },
    "level": {
      "type": "number"
    },
    "enabled": {
      "type": "boolean"
    },
    "visible": {
      "type": "boolean"
    },
    "position": {
      "type": "number"
    },
    "geometry": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "coordinates": {
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "array",
                "items": [
                  {
                    "type": "number"
                  },
                  {
                    "type": "number"
                  }
                ]
              }
            }
          }
        }
      },
      "required": [
        "type",
        "coordinates"
      ]
    }
  },
  "required": [
    "id",
    "name",
    "cityId",
    "country",
    "level",
    "enabled",
    "visible",
    "position",
    "geometry"
  ]
}
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",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Business area features

Update business features
PUT/business-areas/{id}/business-feature

Example URI

PUT https://monolith.spotahome.com/api/search/business-areas/12345/business-feature
URI Parameters
HideShow
id
number (required) Example: 12345
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "name": "TetuΓ‘n",
  "enabled": true,
  "visible": true,
  "position": 1100,
  "cityId": "madrid"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "enabled": {
      "type": "boolean"
    },
    "visible": {
      "type": "boolean"
    },
    "position": {
      "type": "number"
    },
    "cityId": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "enabled",
    "visible",
    "position",
    "cityId"
  ]
}
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",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Markers

Markers

Retrieve map markers of an area
GET/markers/{cityId}{?type,topology,flexibleMoveIn,flexibleMoveOut,moveInFrom,moveInTo,moveOutFrom,moveOutTo,bathrooms,budget,features,ids,bed_type,northEastBoundary,southWestBoundary,poi,instantBooking,review_rating,verified,areaId,superLister,noDeposit,plan,refreshAvailabilitiesDateFrom,refreshAvailabilitiesDateTo,firstAvailableDateFrom,firstAvailableDateTo,scoreFrom}

Example URI

GET https://monolith.spotahome.com/api/search/markers/madrid?type=rooms&topology=4more&flexibleMoveIn=1&flexibleMoveOut=1&moveInFrom=2000-01-01&moveInTo=2000-01-15&moveOutFrom=2001-01-01&moveOutTo=2001-01-15&bathrooms=3more&budget=500-1000&features=heating&ids=12345&bed_type=single&northEastBoundary=40.4316414,-3.7102201&southWestBoundary=40.4316414,-3.7102201&poi=40.4316414,-3.7102201&instantBooking=1&review_rating=5&verified=1&areaId=123&superLister=1&noDeposit=1&plan=&refreshAvailabilitiesDateFrom=2000-01-01&refreshAvailabilitiesDateTo=2000-01-15&firstAvailableDateFrom=2000-01-01&firstAvailableDateTo=2000-01-15&scoreFrom=20
URI Parameters
HideShow
cityId
string (required) Example: madrid
type
array[string] (optional) Example: rooms

Type of the ad

  • Members:
    • apartments
    • rooms
    • residences
    • studios
topology
array[string] (optional) Example: 4more

Number of bedrooms of the ad

Choices: 1 2 3 4 4more

move-in
string (optional) Example: 2000-01-01

Date to move in (format YYYY-MM-DD)

move-out
string (optional) Example: 2001-01-01

Date to move out (format YYYY-MM-DD)

flexibleMoveIn
number (optional) Example: 1

Transforms the strict move-in date into a flexible range

Choices: 0 1

flexibleMoveOut
number (optional) Example: 1

Transforms the strict move-out date into a flexible range

Choices: 0 1

moveInFrom
string (optional) Example: 2000-01-01

Start of the range for move in (format YYYY-MM-DD)

moveInTo
string (optional) Example: 2000-01-15

End of the range for move in (format YYYY-MM-DD)

moveOutFrom
string (optional) Example: 2001-01-01

Start of the range for move out (format YYYY-MM-DD)

moveOutTo
string (optional) Example: 2001-01-15

End of the range for move out (format YYYY-MM-DD)

bathrooms
array[string] (optional) Example: 3more

Number of bathrooms in the property

Choices: 1 2 3 3more

features
array[string] (optional) Example: heating

Array of desired features of ad

Choices: heating pets balcony pool parking elevator air_conditioning withDesk ensuiteRoom smokingAllowed exterior only_male only_female professionals couples students erasmus electricity water gas wifi meal_service cleaning_service central_heat council_tax bed_linen dryer oven dishwasher washing_machine

listing-id
number (optional) Example: 12345

Listing ID

ids
array[number] (optional) Example: 12345
bed_type
string (optional) Example: single

Types of bed comma separated

Choices: single double twin bunk

northEastBoundary
string (optional) Example: 40.4316414,-3.7102201

NE corner coordinates (format X,Y)

southWestBoundary
string (optional) Example: 40.4316414,-3.7102201

NE corner coordinates (format X,Y)

poi
string (optional) Example: 40.4316414,-3.7102201

Point Of Interest coordinates (format X,Y)

instantBooking
number (optional) Example: 1

Listing can be directly booked if conditions are meet

Choices: 0 1

review_rating
number (optional) Example: 5

Rating of ad between 1 and 5

Choices: 1 2 3 4 5

availabilities-updated
number (optional) Example: 1

Ad availability has been updated

Choices: 0 1

budget
string (optional) Example: 500-1000

Range of budget (format MIN-MAX)

verified
number (optional) Example: 1

Listing is verified by one of our homechekers

Choices: 0 1

areaId
array[number] (optional) Example: 123
superLister
number (optional) Example: 1

Listing is owned by a landlord who meets certain quality criteria

Choices: 0 1

noDeposit
number (optional) Example: 1

If 1, returns only listings with securityDepositType=β€˜noSecurityDeposit’

Choices: 0 1

scoreFrom
number (optional) Example: 20

From 0 to 100. If lower or greater, the filter is not apply

plan
string (optional) 

It returns markers with given plan

Choices: standard premium select

refreshAvailabilitiesDateFrom
string (optional) Example: 2000-01-01

Start of the range for refresh availabilities date (format YYYY-MM-DD)

refreshAvailabilitiesDateTo
string (optional) Example: 2000-01-15

End of the range for refresh availabilities date (format YYYY-MM-DD)

firstAvailableDateFrom
string (optional) Example: 2000-01-01

Start of the range for first available date (format YYYY-MM-DD)

firstAvailableDateTo
string (optional) Example: 2000-01-15

End of the range for first available date (format YYYY-MM-DD)

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ok": true,
  "data": [
    {
      "id": 1,
      "adId": 2,
      "coord": "[",
      "instantBooking": true,
      "minimumPrice": 4000,
      "totalCountMultilisting": 1
    }
  ],
  "paginator": {
    "pageNumber": 1,
    "count": 100,
    "itemCountPerPage": 10,
    "pages": 10
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "array"
    },
    "paginator": {
      "type": "object",
      "properties": {
        "pageNumber": {
          "type": "number"
        },
        "count": {
          "type": "number"
        },
        "itemCountPerPage": {
          "type": "number"
        },
        "pages": {
          "type": "number"
        }
      }
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Blocked Markers

Retrieve map markers of an area not available in given dates
GET/markers/blocked/{cityId}{?type,topology,flexibleMoveIn,flexibleMoveOut,moveInFrom,moveInTo,moveOutFrom,moveOutTo,bathrooms,budget,features,ids,bed_type,northEastBoundary,southWestBoundary,poi,instantBooking,review_rating,verified,areaId,superLister,noDeposit,plan,refreshAvailabilitiesDateFrom,refreshAvailabilitiesDateTo,firstAvailableDateFrom,firstAvailableDateTo,scoreFrom}

Example URI

GET https://monolith.spotahome.com/api/search/markers/blocked/madrid?type=rooms&topology=4more&flexibleMoveIn=1&flexibleMoveOut=1&moveInFrom=2000-01-01&moveInTo=2000-01-15&moveOutFrom=2001-01-01&moveOutTo=2001-01-15&bathrooms=3more&budget=500-1000&features=heating&ids=12345&bed_type=single&northEastBoundary=40.4316414,-3.7102201&southWestBoundary=40.4316414,-3.7102201&poi=40.4316414,-3.7102201&instantBooking=1&review_rating=5&verified=1&areaId=123&superLister=1&noDeposit=1&plan=&refreshAvailabilitiesDateFrom=2000-01-01&refreshAvailabilitiesDateTo=2000-01-15&firstAvailableDateFrom=2000-01-01&firstAvailableDateTo=2000-01-15&scoreFrom=20
URI Parameters
HideShow
cityId
string (required) Example: madrid
type
array[string] (optional) Example: rooms

Type of the ad

  • Members:
    • apartments
    • rooms
    • residences
    • studios
topology
array[string] (optional) Example: 4more

Number of bedrooms of the ad

Choices: 1 2 3 4 4more

move-in
string (optional) Example: 2000-01-01

Date to move in (format YYYY-MM-DD)

move-out
string (optional) Example: 2001-01-01

Date to move out (format YYYY-MM-DD)

flexibleMoveIn
number (optional) Example: 1

Transforms the strict move-in date into a flexible range

Choices: 0 1

flexibleMoveOut
number (optional) Example: 1

Transforms the strict move-out date into a flexible range

Choices: 0 1

moveInFrom
string (optional) Example: 2000-01-01

Start of the range for move in (format YYYY-MM-DD)

moveInTo
string (optional) Example: 2000-01-15

End of the range for move in (format YYYY-MM-DD)

moveOutFrom
string (optional) Example: 2001-01-01

Start of the range for move out (format YYYY-MM-DD)

moveOutTo
string (optional) Example: 2001-01-15

End of the range for move out (format YYYY-MM-DD)

bathrooms
array[string] (optional) Example: 3more

Number of bathrooms in the property

Choices: 1 2 3 3more

features
array[string] (optional) Example: heating

Array of desired features of ad

Choices: heating pets balcony pool parking elevator air_conditioning withDesk ensuiteRoom smokingAllowed exterior only_male only_female professionals couples students erasmus electricity water gas wifi meal_service cleaning_service central_heat council_tax bed_linen dryer oven dishwasher washing_machine

listing-id
number (optional) Example: 12345

Listing ID

ids
array[number] (optional) Example: 12345
bed_type
string (optional) Example: single

Types of bed comma separated

Choices: single double twin bunk

northEastBoundary
string (optional) Example: 40.4316414,-3.7102201

NE corner coordinates (format X,Y)

southWestBoundary
string (optional) Example: 40.4316414,-3.7102201

NE corner coordinates (format X,Y)

poi
string (optional) Example: 40.4316414,-3.7102201

Point Of Interest coordinates (format X,Y)

instantBooking
number (optional) Example: 1

Listing can be directly booked if conditions are meet

Choices: 0 1

review_rating
number (optional) Example: 5

Rating of ad between 1 and 5

Choices: 1 2 3 4 5

availabilities-updated
number (optional) Example: 1

Ad availability has been updated

Choices: 0 1

budget
string (optional) Example: 500-1000

Range of budget (format MIN-MAX)

verified
number (optional) Example: 1

Listing is verified by one of our homechekers

Choices: 0 1

areaId
array[number] (optional) Example: 123
superLister
number (optional) Example: 1

Listing is owned by a landlord who meets certain quality criteria

Choices: 0 1

noDeposit
number (optional) Example: 1

If 1, returns only listings with securityDepositType=β€˜noSecurityDeposit’

Choices: 0 1

scoreFrom
number (optional) Example: 20

From 0 to 100. If lower or greater, the filter is not apply

plan
string (optional) 

It returns markers with given plan

Choices: standard premium select

refreshAvailabilitiesDateFrom
string (optional) Example: 2000-01-01

Start of the range for refresh availabilities date (format YYYY-MM-DD)

refreshAvailabilitiesDateTo
string (optional) Example: 2000-01-15

End of the range for refresh availabilities date (format YYYY-MM-DD)

firstAvailableDateFrom
string (optional) Example: 2000-01-01

Start of the range for first available date (format YYYY-MM-DD)

firstAvailableDateTo
string (optional) Example: 2000-01-15

End of the range for first available date (format YYYY-MM-DD)

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 100,
  "total": 1000,
  "_embedded": {
    "markers": [
      {
        "id": 1,
        "adId": 2,
        "coord": "[",
        "instantBooking": true,
        "minimumPrice": 4000
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "count": {
      "type": "number"
    },
    "total": {
      "type": "number"
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "markers": {
          "type": "array"
        }
      }
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Facets

Facets

  • Request (application/json)

Prices Histogram

Prices Histogram

Retrieve list of ad prices of an area
GET/histogram-prices/{cityId}{?type,topology,flexibleMoveIn,flexibleMoveOut,moveInFrom,moveInTo,moveOutFrom,moveOutTo,bathrooms,features,ids,bed_type,northEastBoundary,southWestBoundary,poi,instantBooking,review_rating,verified,areaId,superLister,noDeposit,plan,refreshAvailabilitiesDateFrom,refreshAvailabilitiesDateTo,firstAvailableDateFrom,firstAvailableDateTo}

Example URI

GET https://monolith.spotahome.com/api/search/histogram-prices/madrid?type=rooms&topology=&flexibleMoveIn=1&flexibleMoveOut=1&moveInFrom=2000-01-01&moveInTo=2000-01-15&moveOutFrom=2001-01-01&moveOutTo=2001-01-15&bathrooms=3more&features=&ids=&bed_type=&northEastBoundary=&southWestBoundary=&poi=&instantBooking=1&review_rating=&verified=1&areaId=123&superLister=1&noDeposit=1&plan=&refreshAvailabilitiesDateFrom=2000-01-01&refreshAvailabilitiesDateTo=2000-01-15&firstAvailableDateFrom=2000-01-01&firstAvailableDateTo=2000-01-15
URI Parameters
HideShow
cityId
string (required) Example: madrid
type
array[string] (optional) Example: rooms

Type of ad

  • Members:
    • β€˜apartments’
    • β€˜rooms’
    • β€˜residences’
    • β€˜studios’
topology
array (optional) 

Number of bedrooms of ad

Choices: '1' '2' '3' '4' '4more'

move-in
string (optional) Example: 2000-01-01

Date to move in (format YYYY-MM-DD)

move-out
string (optional) Example: 2001-01-01

Date to move out (format YYYY-MM-DD)

flexibleMoveIn
number (optional) Example: 1

Transforms the strict move-in date into a flexible range

Choices: 0 1

flexibleMoveOut
number (optional) Example: 1

Transforms the strict move-out date into a flexible range

Choices: 0 1

moveInFrom
string (optional) Example: 2000-01-01

Start of the range for move in (format YYYY-MM-DD)

moveInTo
string (optional) Example: 2000-01-15

End of the range for move in (format YYYY-MM-DD)

moveOutFrom
string (optional) Example: 2001-01-01

Start of the range for move out (format YYYY-MM-DD)

moveOutTo
string (optional) Example: 2001-01-15

End of the range for move out (format YYYY-MM-DD)

bathrooms
array[string] (optional) Example: 3more

Number of bathrooms in the property

Choices: 1 2 3 3more

features
array (optional) 

Array of desired features of ad

Choices: 'heating' 'pets' 'balcony' 'pool' 'parking' 'elevator' 'air_conditioning' 'withDesk' 'ensuiteRoom' 'smokingAllowed' 'exterior' 'only_male' 'only_female' 'professionals' 'couples' 'students' 'erasmus 'electricity' 'water' 'gas' 'wifi' 'meal_service' 'cleaning_service' 'central_heat' 'council_tax' 'bed_linen' 'dryer' 'oven' 'dishwasher' 'washing_machine'

listing-id
string (optional) 

Listing ID

ids
array (optional) 
bed_type
string (optional) 

Types of bed comma separated

Choices: 'single' 'double' 'twin' 'bunk'

northEastBoundary
string (optional) 

NE corner coordinates (format X,Y)

southWestBoundary
string (optional) 

NE corner coordinates (format X,Y)

poi
string (optional) 

Point Of Interest coordinates (format X,Y)

instantBooking
number (optional) Example: 1

Listing can be directly booked if conditions are meet

Choices: 0 1

review_rating
string (optional) 

Rating of ad between 1 and 5

availabilities-updated
string (optional) 

Ad availability has been updated

Choices: '0' '1'

verified
number (optional) Example: 1

Listing is verified by one of our homechekers

Choices: 0 1

areaId
array[number] (optional) Example: 123
superLister
number (optional) Example: 1

Listing is owned by a landlord who meets certain quality criteria

Choices: 0 1

noDeposit
number (optional) Example: 1

If 1, returns only listings with securityDepositType=β€˜noSecurityDeposit’

Choices: 0 1

plan
string (optional) 

It returns markers with given plan

Choices: standard premium select

refreshAvailabilitiesDateFrom
string (optional) Example: 2000-01-01

Start of the range for refresh availabilities date (format YYYY-MM-DD)

refreshAvailabilitiesDateTo
string (optional) Example: 2000-01-15

End of the range for refresh availabilities date (format YYYY-MM-DD)

firstAvailableDateFrom
string (optional) Example: 2000-01-01

Start of the range for first available date (format YYYY-MM-DD)

firstAvailableDateTo
string (optional) Example: 2000-01-15

End of the range for first available date (format YYYY-MM-DD)

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ok": true,
  "unitPrices": [
    1
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "unitPrices": {
      "type": "array",
      "description": "Array of prices"
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Homecards

Homecards

Retrieve list of homecards
GET/homecards{?ids}

Example URI

GET https://monolith.spotahome.com/api/search/homecards?ids=1234,5264
URI Parameters
HideShow
ids
array (optional) Example: 1234,5264
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ok": true,
  "data": {
    "homecards": [
      {
        "id": 1234,
        "features": {},
        "adId": 9632,
        "roomId": 8521,
        "type": "room_shared",
        "title": "Single room",
        "mainPhotoUrl": "",
        "photoUrls": [],
        "pricePerMonth": 900,
        "monthlyPrice": {
          "type": "fixed",
          "minimumPrice": 900,
          "fixedPrice": 900,
          "pricesByMonth": []
        },
        "visited": true,
        "neighborhoodName": "unsupported neighborhood name",
        "runnerName": "Mike",
        "url": "",
        "favorite": false,
        "checked": true,
        "currencySymbol": "€",
        "currencyLabel": "EUR",
        "currencyIsoCode": "EUR",
        "sharedRoom": true,
        "roomType": "",
        "aptFeatures": [],
        "roomFeatures": [],
        "suitFeatures": [],
        "city": "madrid",
        "refreshAvailabilitiesDate": "2016-04-07T09:00:58.000+0000",
        "reviews": {
          "count": 2,
          "ratingAverage": 4.5
        },
        "instantBooking": {
          "isEnabled": true,
          "rules": [
            {
              "type": "ageRange",
              "params": {
                "minAge": 18,
                "maxAge": 30
              }
            },
            {
              "type": "bookingTooEarly",
              "params": {
                "days": 50
              }
            },
            {
              "type": "minStay",
              "params": {
                "jan": 1,
                "feb": 1,
                "mar": 3,
                "apr": 2,
                "may": 2,
                "jun": 3,
                "jul": 1,
                "aug": 2,
                "sep": 3,
                "oct": 2,
                "nov": 2,
                "dec": 2
              }
            },
            {
              "type": "couplesNotAllowed"
            }
          ]
        },
        "discount": {
          "quantity": 100,
          "expiresAt": "2016-04-07T09:00:58.000+0000",
          "month": 7
        },
        "firstAvailableDate `2019-02-01T00:00:00.000+0000`": "",
        "isSuperlister": true,
        "cancellationPolicy": "standard",
        "plan": "standard",
        "photos": [],
        "otherPropetyPhotos": [],
        "offers": [
          {
            "id": "aaaa-bbbb-cccc-dddd",
            "discountType": "percentage",
            "discountValue": 12,
            "minStay": 30,
            "maxStay": 90
          }
        ],
        "numberOfBathrooms": 1,
        "numberOfBedrooms": 2,
        "landlordId": "48e375af-7710-4557-9cde-fcd9080e52d8",
        "location": {
          "street": "Calle Vizcaya",
          "postalCode": "28025",
          "city": "Getafe"
        },
        "description": "Desc",
        "homecardDescription": "Desc",
        "bookingConditions": {
          "securityDepositType": "percentage",
          "securityDepositValue": 10000,
          "adminFeeType": "noAdminFee",
          "adminFeeValue": 0,
          "contractDurationTypesAllowed": [
            "temporal",
            "permanent"
          ],
          "hasVetting": true,
          "hasRentCollection": true
        },
        "score": {
          "points": 12,
          "label": "30"
        },
        "firstPublishedDate `2018-05-11T01:24:56+0000`": "",
        "updateDate `2021-12-01T10:00:38+0000`": "",
        "area": null,
        "areaName": null
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "properties": {
        "homecards": {
          "type": "array"
        }
      },
      "required": [
        "homecards"
      ]
    }
  },
  "required": [
    "ok",
    "data"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Homecards extended

Retrieve list of extended homecards
GET/extended-homecards{?ids}

Example URI

GET https://monolith.spotahome.com/api/search/extended-homecards?ids=1234,5264
URI Parameters
HideShow
ids
array (optional) Example: 1234,5264
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ok": true,
  "data": {
    "homecards": [
      {
        "id": 1234,
        "features": {},
        "adId": 9632,
        "roomId": 8521,
        "type": "room_shared",
        "title": "Single room",
        "mainPhotoUrl": "",
        "photoUrls": [],
        "pricePerMonth": 900,
        "monthlyPrice": {
          "type": "fixed",
          "minimumPrice": 900,
          "fixedPrice": 900,
          "pricesByMonth": []
        },
        "visited": true,
        "neighborhoodName": "unsupported neighborhood name",
        "runnerName": "Mike",
        "url": "",
        "favorite": false,
        "checked": true,
        "currencySymbol": "€",
        "currencyLabel": "EUR",
        "currencyIsoCode": "EUR",
        "sharedRoom": true,
        "roomType": "",
        "aptFeatures": [],
        "roomFeatures": [],
        "suitFeatures": [],
        "city": "madrid",
        "refreshAvailabilitiesDate": "2016-04-07T09:00:58.000+0000",
        "reviews": {
          "count": 2,
          "ratingAverage": 4.5
        },
        "instantBooking": {
          "isEnabled": true,
          "rules": [
            {
              "type": "ageRange",
              "params": {
                "minAge": 18,
                "maxAge": 30
              }
            },
            {
              "type": "bookingTooEarly",
              "params": {
                "days": 50
              }
            },
            {
              "type": "minStay",
              "params": {
                "jan": 1,
                "feb": 1,
                "mar": 3,
                "apr": 2,
                "may": 2,
                "jun": 3,
                "jul": 1,
                "aug": 2,
                "sep": 3,
                "oct": 2,
                "nov": 2,
                "dec": 2
              }
            },
            {
              "type": "couplesNotAllowed"
            }
          ]
        },
        "discount": {
          "quantity": 100,
          "expiresAt": "2016-04-07T09:00:58.000+0000",
          "month": 7
        },
        "firstAvailableDate `2019-02-01T00:00:00.000+0000`": "",
        "isSuperlister": true,
        "cancellationPolicy": "standard",
        "plan": "standard",
        "photos": [],
        "otherPropetyPhotos": [],
        "offers": [
          {
            "id": "aaaa-bbbb-cccc-dddd",
            "discountType": "percentage",
            "discountValue": 12,
            "minStay": 30,
            "maxStay": 90
          }
        ],
        "numberOfBathrooms": 1,
        "numberOfBedrooms": 2,
        "landlordId": "48e375af-7710-4557-9cde-fcd9080e52d8",
        "location": {
          "street": "Calle Vizcaya",
          "postalCode": "28025",
          "city": "Getafe"
        },
        "description": "Desc",
        "homecardDescription": "Desc",
        "thingsWeLike": "We",
        "thingsToKeepInMind": "Keep",
        "score": {
          "points": 12,
          "label": "30"
        }
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "properties": {
        "homecards": {
          "type": "array"
        }
      },
      "required": [
        "homecards"
      ]
    }
  },
  "required": [
    "ok",
    "data"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Similar Listings

Homecards

Retrieve list of similar listings
GET/homecards/{propertyId}/similar

Example URI

GET https://monolith.spotahome.com/api/search/homecards/1234/similar
URI Parameters
HideShow
propertyId
number (required) Example: 1234
move-in
string (optional) Example: 2000-01-01

Date to move in (format YYYY-MM-DD)

move-out
string (optional) Example: 2001-01-01

Date to move out (format YYYY-MM-DD)

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "ok": true,
  "data": {
    "homecards": [
      {
        "id": 1234,
        "features": {},
        "adId": 9632,
        "roomId": 8521,
        "type": "room_shared",
        "title": "Single room",
        "mainPhotoUrl": "",
        "photoUrls": [],
        "pricePerMonth": 900,
        "monthlyPrice": {
          "type": "fixed",
          "minimumPrice": 900,
          "fixedPrice": 900,
          "pricesByMonth": []
        },
        "visited": true,
        "neighborhoodName": "unsupported neighborhood name",
        "runnerName": "Mike",
        "url": "",
        "favorite": false,
        "checked": true,
        "currencySymbol": "€",
        "currencyLabel": "EUR",
        "currencyIsoCode": "EUR",
        "sharedRoom": true,
        "roomType": "",
        "aptFeatures": [],
        "roomFeatures": [],
        "suitFeatures": [],
        "city": "madrid",
        "refreshAvailabilitiesDate": "2016-04-07T09:00:58.000+0000",
        "reviews": {
          "count": 2,
          "ratingAverage": 4.5
        },
        "instantBooking": {
          "isEnabled": true,
          "rules": [
            {
              "type": "ageRange",
              "params": {
                "minAge": 18,
                "maxAge": 30
              }
            },
            {
              "type": "bookingTooEarly",
              "params": {
                "days": 50
              }
            },
            {
              "type": "minStay",
              "params": {
                "jan": 1,
                "feb": 1,
                "mar": 3,
                "apr": 2,
                "may": 2,
                "jun": 3,
                "jul": 1,
                "aug": 2,
                "sep": 3,
                "oct": 2,
                "nov": 2,
                "dec": 2
              }
            },
            {
              "type": "couplesNotAllowed"
            }
          ]
        },
        "discount": {
          "quantity": 100,
          "expiresAt": "2016-04-07T09:00:58.000+0000",
          "month": 7
        },
        "firstAvailableDate `2019-02-01T00:00:00.000+0000`": "",
        "isSuperlister": true,
        "cancellationPolicy": "standard",
        "plan": "standard",
        "photos": [],
        "otherPropetyPhotos": [],
        "offers": [
          {
            "id": "aaaa-bbbb-cccc-dddd",
            "discountType": "percentage",
            "discountValue": 12,
            "minStay": 30,
            "maxStay": 90
          }
        ],
        "numberOfBathrooms": 1,
        "numberOfBedrooms": 2,
        "landlordId": "48e375af-7710-4557-9cde-fcd9080e52d8",
        "location": {
          "street": "Calle Vizcaya",
          "postalCode": "28025",
          "city": "Getafe"
        },
        "description": "Desc",
        "homecardDescription": "Desc",
        "bookingConditions": {
          "securityDepositType": "percentage",
          "securityDepositValue": 10000,
          "adminFeeType": "noAdminFee",
          "adminFeeValue": 0,
          "contractDurationTypesAllowed": [
            "temporal",
            "permanent"
          ],
          "hasVetting": true,
          "hasRentCollection": true
        },
        "score": {
          "points": 12,
          "label": "30"
        },
        "firstPublishedDate `2018-05-11T01:24:56+0000`": "",
        "updateDate `2021-12-01T10:00:38+0000`": "",
        "area": null,
        "areaName": null
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "data": {
      "type": "object",
      "properties": {
        "homecards": {
          "type": "array"
        }
      },
      "required": [
        "homecards"
      ]
    }
  },
  "required": [
    "ok",
    "data"
  ]
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "ok": false,
  "message": "Hello, world!"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string",
      "description": "Validator message"
    }
  }
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "ok": true,
  "message": "'Rentable Unit with _field_ equals to _value_ does not exist'"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    }
  }
}

Rentable Units

Rentable Unit Info

Obtain rentable unit information
GET/listings/{listingId}

Example URI

GET https://monolith.spotahome.com/api/search/listings/12345
URI Parameters
HideShow
listingId
number (required) Example: 12345

Identifier of the resource.

Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "isRoomsAggregator": true,
  "listings": {
    "id": 120171,
    "adId": 120171,
    "title": "Awesome room in council house in London",
    "adArea": 146,
    "adTitle": null,
    "minStay": 30,
    "maxStay": 730,
    "checked": true,
    "contractType": "monthly",
    "cancellationPolicy": "standard",
    "hasOwnPhotos": true,
    "maxGapBetweenBookings": 0,
    "bookingAcceptanceMinDays": 0,
    "bookingAcceptanceMaxDays": 0,
    "canonicalLanguage": "en",
    "refreshAvailabilitiesDate": "2017",
    "firstPublicationDate": "2017",
    "roomsInApartment": [
      {
        "id": 80013,
        "checked": true,
        "price": 570,
        "monthlyPrice": {
          "type": "fixed",
          "minimumPrice": 900,
          "fixedPrice": 900,
          "pricesByMonth": []
        },
        "currency": {
          "symbol": "€",
          "label": "EUR",
          "iso": "EUR"
        },
        "title": "Bedroom 1",
        "longTitle": "Double Bed in Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre",
        "description": "Bedroom 1 has a double bed. There is also a built",
        "features": {},
        "aptFeatures": [],
        "roomFeatures": [],
        "suitFeatures": [],
        "firstAvailability": {
          "isoFormat": "2017",
          "stringFormat": "Aug 1st, 201"
        },
        "mainPhoto": "https://sah",
        "url": "/madrid/for",
        "floorplanReference": 1,
        "contents": {
          "en": {
            "title": "Bedroom 1",
            "description": "<p>Bedroom 1 has a double bed. There is also a built",
            "longTitle": "Double Bed in Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre"
          }
        }
      }
    ],
    "type": "room_shared_apt",
    "ptype": {
      "title": "rooms",
      "breadcrumbLabel": "breadcrumb.label.rooms_for_rent",
      "url": "/for"
    },
    "availableFromDateIso8601": "2017",
    "unavailabilities": [
      {
        "from": "2017",
        "to": "2017"
      }
    ],
    "availabilities": [
      {
        "from": "1900",
        "to": "2017"
      }
    ],
    "moveInDatesRanges": [
      {
        "from": "1900",
        "to": "2017"
      }
    ],
    "neighVid": [
      {
        "embedUrl": "https://www.youtube.com/embed/luo7ON_rSZQ",
        "name": "Double Bed in Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre",
        "description": "**Centro:** \\n\\nThe geographical center of Madrid and Spain is the Puerta del Sol",
        "thumbnailUrl": "https://sah",
        "uploadDate": "2014"
      }
    ],
    "city": "Madrid",
    "cityId": "madrid",
    "address": "Calle del PrΓ­ncipe",
    "area": "madrid",
    "coords": "[",
    "countryCode": "ES",
    "plan": "standard",
    "photos": {
      "principal": {
        "detail_full_screen": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "detail_slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "slider_full": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fsobscalew_1600_900_verified_ur_15_50/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg",
        "slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fspt_640_640/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg"
      },
      "runner": {
        "detail_full_screen": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "detail_slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "slider_full": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fsobscalew_1600_900_verified_ur_15_50/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg",
        "slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fspt_640_640/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg"
      },
      "verified": {
        "detail_full_screen": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        },
        "detail_slider": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        }
      },
      "nonVerified": {
        "detail_full_screen": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        },
        "detail_slider": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        }
      },
      "floorplans": {
        "f84f52577b049905e3f0eefd68ac4372ebb3e296fba59356b05fc179": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/cropsw_170_579_verified_ur_6_50/f84f52577b049905e3f0eefd68ac4372ebb3e296fba59356b05fc179.jpg"
      },
      "captions": {},
      "photoCaptions": [
        {
          "id": "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d",
          "contents": {
            "en": {
              "caption": "Double Bedroom 1"
            }
          }
        }
      ]
    },
    "photosV2": {
      "photos360": {
        "large360": {
          "23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smw_5376/23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af.jpg"
        },
        "small360": {
          "23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smw_2688/23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af.jpg"
        }
      },
      "principal": {
        "detail_full_screen": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "detail_slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "slider_full": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fsobscalew_1600_900_verified_ur_15_50/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg",
        "slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fspt_640_640/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg"
      },
      "runner": {
        "detail_full_screen": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "detail_slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg",
        "slider_full": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fsobscalew_1600_900_verified_ur_15_50/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg",
        "slider": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/fspt_640_640/4e886aa4c15b53ed0e12889b7c195cea50d30b89e582083b3022158e.jpg"
      },
      "verified": {
        "detail_full_screen": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        },
        "detail_slider": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        }
      },
      "nonVerified": {
        "detail_full_screen": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        },
        "detail_slider": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        }
      },
      "propertyPhotos": {
        "detail_full_screen": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1600_verified_ur_15_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        },
        "detail_slider": {
          "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/smww_1152_verified_ur_6_50/7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d.jpg"
        }
      },
      "floorplans": {
        "f84f52577b049905e3f0eefd68ac4372ebb3e296fba59356b05fc179": "https://sah-dev-photos-resized.s3-eu-west-1.amazonaws.com/cropsw_170_579_verified_ur_6_50/f84f52577b049905e3f0eefd68ac4372ebb3e296fba59356b05fc179.jpg"
      },
      "captions": {},
      "photoCaptions": [
        {
          "id": "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d",
          "contents": {
            "en": {
              "caption": "Double Bedroom 1"
            }
          }
        }
      ]
    },
    "videos": [
      {
        "embedUrl": "https://www.youtube.com/watch?v=X4KXamTJzXk",
        "videoTranscription": "null",
        "videoId": "X4KXamTJzXk",
        "name": "Double Bed in Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre",
        "description": "Rooms are available to rent in a beautiful 4",
        "thumbnailUrl": "https://sah",
        "uploadDate": "2014"
      }
    ],
    "features": {},
    "extraFeatures": {},
    "bills": {},
    "gender": {},
    "suitability": {},
    "restrictions": [],
    "numberOfBedrooms": 0,
    "numberOfBathrooms": 0,
    "mainRules": {},
    "pricing": {
      "price": 570,
      "monthlyPrice": {
        "type": "fixed",
        "minimumPrice": 900,
        "fixedPrice": 900,
        "pricesByMonth": []
      },
      "currencyLabel": "EUR",
      "currencySymbol": "€",
      "reservationPrice": {
        "price": 570,
        "currencyCode": "EUR",
        "numberOfWeeks": 8
      }
    },
    "contents": {
      "en": {
        "title": "Double Bed in Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre",
        "propertyTitle": "Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre",
        "adTitle": "Ad Title",
        "description": "<p>Rooms are available to rent in a beautiful 4",
        "header": "null",
        "whatWeLiked": [
          "<ul>\\n<li>French doors lead to balconies throughout the apartment",
          "letting in lots of natural light.</li>\\n<li>In the living and dining area",
          "there is a long white table with six chairs",
          "and a long",
          "L"
        ],
        "thingsToKeepInMind": "null",
        "details": "<ul>\\n<li>Property type: apartment</li>\\n<li>Floor: 2nd</li>\\n<li>Elevator: yes</li>\\n<li>Number of bathrooms: 2</li>\\n<li>Wi",
        "landlordPolicies": [
          "<ul>\\n<li>Speaks English: yes</li>\\n<li>Lives on property: no</li>\\n<li>Deposit: to be discussed with the landlord</li>\\n<li>Payment method: cash; bank transaction</li>\\n<li>No smoking or pets</li>\\n<li>Rent: must be paid on 1st of each month",
          "regardless of date of check"
        ],
        "transportation": "<ul>\\n<li>The apartment is just a three minute walk from the Anton Martin station a 5",
        "neighborhoodDescription": "<p><strong>Centro:</strong></p>\\n\\n<p>The geographical center of Madrid</p>\\n",
        "flatmates": "null",
        "seoMetaTitle": "Rooms in 4-bedroom apartment for rent in Madrid City Centre",
        "propertySeoMetaTitle": "Rooms in 4-bedroom apartment for rent in Madrid City Centre",
        "seoMetaDescription": "Spotahome presents a fantastic 4 bedroom apartment for rent in Madrid city centre. Rent your next apartment in Madrid with Spotahome!",
        "isManualTranslated": true,
        "isTranslationNeeded": false
      }
    },
    "manuallyTranslatedLocales": [
      "en",
      "es"
    ],
    "areaInfo": {
      "id": 1,
      "slug": "madrid",
      "limits": {
        "ne": [
          -2.617648,
          40.998106
        ],
        "sw": [
          -4.856799,
          39.857114
        ]
      }
    },
    "areaId": 1,
    "runner": {
      "firstName": "Mike"
    },
    "reviews": {
      "count": 2,
      "ratingAverage": 4.5
    },
    "areaSlug": "madrid",
    "userGroup": "normal",
    "seo": {
      "basic": {
        "title": "Rooms in 4",
        "description": "Spotahome presents a fantastic 4 bedroom apartment for rent in Madrid city centre. Rent your next apartment in Madrid with Spotahome!",
        "indexable": true
      },
      "twitter": {
        "card": "photo",
        "title": "Rooms in 4",
        "description": "Spotahome presents a fantastic 4 bedroom apartment for rent in Madrid city centre. Rent your next apartment in Madrid with Spotahome!",
        "url": "http://local.spotahome.com:9090/madrid/for",
        "imageUrl": "https://sah"
      },
      "og": {
        "type": "spotahome:ad",
        "title": "Rooms in 4",
        "description": "Spotahome presents a fantastic 4 bedroom apartment for rent in Madrid city centre. Rent your next apartment in Madrid with Spotahome!",
        "url": "http://local.spotahome.com:9090/madrid/for",
        "imageUrl": "https://sah",
        "siteName": "Room in shared apartment from €570 per month in Madrid. Double Bed in Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre",
        "locale": "en_US"
      },
      "canonical": "http://local.spotahome.com:9090/madrid/for"
    },
    "ecommerceProductData": {
      "id": "80005",
      "name": "Double Bed in Rooms to rent in a fantastic 4 bedroom apartment in Madrid city centre",
      "category": "room_shared",
      "brand": "Spotahome",
      "price": 570,
      "coupon": "AAAA",
      "quantity": 1
    },
    "customDimensions": [
      {
        "id": "dimension1",
        "customData": "Madrid"
      }
    ],
    "instantBooking": {
      "isEnabled": true,
      "rules": [
        {
          "type": "ageRange",
          "params": {
            "minAge": 18,
            "maxAge": 30
          }
        },
        {
          "type": "bookingTooEarly",
          "params": {
            "days": 50
          }
        },
        {
          "type": "minStay",
          "params": {
            "jan": 1,
            "feb": 1,
            "mar": 3,
            "apr": 2,
            "may": 2,
            "jun": 3,
            "jul": 1,
            "aug": 2,
            "sep": 3,
            "oct": 2,
            "nov": 2,
            "dec": 2
          }
        },
        {
          "type": "couplesNotAllowed"
        }
      ]
    },
    "discount": {
      "quantity": 100,
      "expiresAt": "2016-04-07T09:00:58.000+0000",
      "month": 7
    },
    "isSuperlister": true,
    "landlordId": "48e375af-7710-4557-9cde-fcd9080e52d8",
    "bookingConditions": {
      "securityDepositType": "fixed",
      "securityDepositValue": 10000,
      "adminFeeType": "noAdminFee",
      "adminFeeValue": 10000,
      "contractDurationTypesAllowed": [
        "temporal",
        "permanent"
      ],
      "hasVetting": true,
      "hasRentCollection": true
    },
    "score": {
      "points": 80.5,
      "label": "low"
    }
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "isRoomsAggregator": {
      "type": "boolean"
    },
    "listings": {
      "type": "object",
      "properties": {
        "id": {
          "type": "number"
        },
        "adId": {
          "type": "number"
        },
        "title": {
          "type": "string"
        },
        "adArea": {
          "type": "number"
        },
        "adTitle": {
          "type": [
            "string",
            "null"
          ]
        },
        "minStay": {
          "type": "number"
        },
        "maxStay": {
          "type": "number"
        },
        "checked": {
          "type": "boolean"
        },
        "contractType": {
          "type": "string"
        },
        "cancellationPolicy": {
          "type": "string"
        },
        "hasOwnPhotos": {
          "type": "boolean"
        },
        "maxGapBetweenBookings": {
          "type": "number"
        },
        "bookingAcceptanceMinDays": {
          "type": "number"
        },
        "bookingAcceptanceMaxDays": {
          "type": "number"
        },
        "canonicalLanguage": {
          "type": "string"
        },
        "refreshAvailabilitiesDate": {
          "type": "string",
          "description": "05-29T07:17:35+0000 (string, nullable, required)"
        },
        "firstPublicationDate": {
          "type": "string",
          "description": "05-29T07:17:35+0000 (string, nullable, required)"
        },
        "roomsInApartment": {
          "type": "array"
        },
        "type": {
          "type": "string"
        },
        "ptype": {
          "type": "object",
          "properties": {
            "title": {
              "type": "string"
            },
            "breadcrumbLabel": {
              "type": "string"
            },
            "url": {
              "type": "string",
              "description": "rent:rooms (string, required)"
            }
          },
          "required": [
            "title",
            "breadcrumbLabel"
          ]
        },
        "availableFromDateIso8601": {
          "type": "string",
          "description": "08-01 (string, required)"
        },
        "unavailabilities": {
          "type": "array"
        },
        "availabilities": {
          "type": "array"
        },
        "moveInDatesRanges": {
          "type": "array"
        },
        "neighVid": {
          "type": "array"
        },
        "city": {
          "type": "string"
        },
        "cityId": {
          "type": "string"
        },
        "address": {
          "type": "string"
        },
        "area": {
          "type": "string"
        },
        "coords": {
          "type": "string",
          "description": "3.69964233, 40.41402062] (array[number], required) - Pair of numbers"
        },
        "countryCode": {
          "type": "string"
        },
        "plan": {
          "type": "string"
        },
        "photos": {
          "type": "object",
          "properties": {
            "principal": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "string"
                },
                "detail_slider": {
                  "type": "string"
                },
                "slider_full": {
                  "type": "string"
                },
                "slider": {
                  "type": "string"
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider",
                "slider_full",
                "slider"
              ]
            },
            "runner": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "string"
                },
                "detail_slider": {
                  "type": "string"
                },
                "slider_full": {
                  "type": "string"
                },
                "slider": {
                  "type": "string"
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider",
                "slider_full",
                "slider"
              ]
            },
            "verified": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                },
                "detail_slider": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider"
              ]
            },
            "nonVerified": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                },
                "detail_slider": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider"
              ]
            },
            "floorplans": {
              "type": "object",
              "properties": {
                "f84f52577b049905e3f0eefd68ac4372ebb3e296fba59356b05fc179": {
                  "type": "string"
                }
              }
            },
            "captions": {
              "type": "object",
              "properties": {},
              "description": "formed by caption identifiers equals to its title: {7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d: Double Bedroom 1, 10c4d447718ba7678d93218d0f2409698e33a3c6b7a5cbc9aa89872c: Double Bedroom 1}"
            },
            "photoCaptions": {
              "type": "array"
            }
          },
          "required": [
            "principal",
            "runner",
            "verified",
            "nonVerified",
            "floorplans",
            "captions",
            "photoCaptions"
          ]
        },
        "photosV2": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "photos360": {
              "type": "object",
              "properties": {
                "large360": {
                  "type": "object",
                  "properties": {
                    "23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af"
                  ]
                },
                "small360": {
                  "type": "object",
                  "properties": {
                    "23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "23d9237ce96023229389363e55fec7c8e9f19ac285e96d0af0dc22af"
                  ]
                }
              },
              "required": [
                "large360",
                "small360"
              ]
            },
            "principal": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "string"
                },
                "detail_slider": {
                  "type": "string"
                },
                "slider_full": {
                  "type": "string"
                },
                "slider": {
                  "type": "string"
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider",
                "slider_full",
                "slider"
              ]
            },
            "runner": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "string"
                },
                "detail_slider": {
                  "type": "string"
                },
                "slider_full": {
                  "type": "string"
                },
                "slider": {
                  "type": "string"
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider",
                "slider_full",
                "slider"
              ]
            },
            "verified": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                },
                "detail_slider": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider"
              ]
            },
            "nonVerified": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                },
                "detail_slider": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider"
              ]
            },
            "propertyPhotos": {
              "type": "object",
              "properties": {
                "detail_full_screen": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                },
                "detail_slider": {
                  "type": "object",
                  "properties": {
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d"
                  ]
                }
              },
              "required": [
                "detail_full_screen",
                "detail_slider"
              ]
            },
            "floorplans": {
              "type": "object",
              "properties": {
                "f84f52577b049905e3f0eefd68ac4372ebb3e296fba59356b05fc179": {
                  "type": "string"
                }
              }
            },
            "captions": {
              "type": "object",
              "properties": {},
              "description": "formed by caption identifiers equals to its title: {7b54365e4113ff0d47f2d40179a49bfe48de436adff65da5337c3c8d: Double Bedroom 1, 10c4d447718ba7678d93218d0f2409698e33a3c6b7a5cbc9aa89872c: Double Bedroom 1}"
            },
            "photoCaptions": {
              "type": "array"
            }
          },
          "required": [
            "photos360",
            "principal",
            "runner",
            "verified",
            "nonVerified",
            "floorplans",
            "captions",
            "photoCaptions"
          ]
        },
        "videos": {
          "type": "array"
        },
        "features": {
          "type": "object",
          "properties": {},
          "description": "formed by feature codes equals to true for current ad: {1100: true, 3015: true}"
        },
        "extraFeatures": {
          "type": "object",
          "properties": {},
          "description": "formed by feature codes equals to true for current ad: {1100: true, 3015: true}"
        },
        "bills": {
          "type": "object",
          "properties": {},
          "description": "formed by feature codes equals to true for current ad: {1100: true, 3015: true}"
        },
        "gender": {
          "type": "object",
          "properties": {}
        },
        "suitability": {
          "type": "object",
          "properties": {}
        },
        "restrictions": {},
        "numberOfBedrooms": {
          "type": "number"
        },
        "numberOfBathrooms": {
          "type": "number"
        },
        "mainRules": {
          "type": "object",
          "properties": {}
        },
        "pricing": {
          "type": "object",
          "properties": {
            "price": {
              "type": "number"
            },
            "monthlyPrice": {
              "type": [
                "object",
                "null"
              ],
              "properties": {
                "type": {
                  "type": "string",
                  "enum": [
                    "fixed",
                    "byMonth"
                  ]
                },
                "minimumPrice": {
                  "type": "number"
                },
                "fixedPrice": {
                  "type": "number",
                  "description": "Set only if type equals to 'fixed'"
                },
                "pricesByMonth": {
                  "type": "array",
                  "description": "Set only if type equals to 'byMonth'"
                }
              },
              "required": [
                "type",
                "minimumPrice"
              ]
            },
            "currencyLabel": {
              "type": "string"
            },
            "currencySymbol": {
              "type": "string"
            },
            "reservationPrice": {
              "type": "object",
              "properties": {
                "price": {
                  "type": "number"
                },
                "currencyCode": {
                  "type": "string"
                },
                "numberOfWeeks": {
                  "type": "number"
                }
              },
              "required": [
                "price",
                "currencyCode",
                "numberOfWeeks"
              ]
            }
          },
          "required": [
            "price",
            "monthlyPrice",
            "currencyLabel",
            "currencySymbol",
            "reservationPrice"
          ]
        },
        "contents": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "en": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                },
                "propertyTitle": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "adTitle": {
                  "type": "string"
                },
                "description": {
                  "type": "string",
                  "description": "bedroom, 2-bathroom historic flat on Calle del PrΓ­ncipe in the center of Madrid. The large apartment has a floor area of 146β€ŠmΒ², which includes a large kitchen and living area. The living area has a stone fireplace with French doors on either side, opening to the balcony, which looks down on a historic street. The very spacious kitchen has lots of storage and food preparation space, and has white, tiled walls, yellow cupboards and a window that opens to the courtyard. There are also 2 full bathrooms.</p>\\n\\n<p>Living in the heart of Madrid, you can find everything you need, and a lot more besides. It is just a short walk to many of the historic sites, monuments, parks, and museums of the city, and of course, the nightlife in the area is fantastic. You'll be living right next to the beautiful Plaza Santa Ana, and there are literally hundreds of bars and restaurants within a few minute's walk for you to explore and sample. There is plenty of shopping in the area, including many of the city's flagship stores around nearby Puerta del Sol, Callao, and Gran Via.</p>\\n (string, required)"
                },
                "header": {
                  "type": "string"
                },
                "whatWeLiked": {
                  "type": "array",
                  "description": "shaped sofa – lots of space to socialise with your flatmates.</li>\\n<li>Living in the heart of the city, all of the best things about Madrid are on your doorstep.</li>\\n</ul>\\n (string, required)"
                },
                "thingsToKeepInMind": {
                  "type": "string"
                },
                "details": {
                  "type": "string",
                  "description": "Fi installed: yes</li>\\n<li>Wi-Fi activated: yes</li>\\n</ul>\\n (string, required)"
                },
                "landlordPolicies": {
                  "type": "array",
                  "description": "in. (E.g., if you move in on the 20th of August, paying 1 months rent, the next months rent will be due on 1st September, <em>not</em> 20th September.)</li>\\n<li>Cleaning: mandatory cleaning fee at conclusion of contract</li>\\n</ul>\\n(string, required)"
                },
                "transportation": {
                  "type": "string",
                  "description": "minute walk from the apartment.</li>\\n</ul>\\n (string, required)"
                },
                "neighborhoodDescription": {
                  "type": "string"
                },
                "flatmates": {
                  "type": "string"
                },
                "seoMetaTitle": {
                  "type": "string"
                },
                "propertySeoMetaTitle": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "seoMetaDescription": {
                  "type": "string"
                },
                "isManualTranslated": {
                  "type": "boolean"
                },
                "isTranslationNeeded": {
                  "type": "boolean"
                }
              },
              "required": [
                "title",
                "adTitle",
                "header",
                "thingsToKeepInMind",
                "neighborhoodDescription",
                "flatmates",
                "seoMetaTitle",
                "seoMetaDescription",
                "isManualTranslated",
                "isTranslationNeeded"
              ]
            }
          },
          "description": "Each key represents the language content"
        },
        "manuallyTranslatedLocales": {
          "type": "array"
        },
        "areaInfo": {
          "type": "object",
          "properties": {
            "id": {
              "type": "number"
            },
            "slug": {
              "type": "string"
            },
            "limits": {
              "type": "object",
              "properties": {
                "ne": {
                  "type": "array"
                },
                "sw": {
                  "type": "array"
                }
              }
            }
          }
        },
        "areaId": {
          "type": "number"
        },
        "runner": {
          "type": "object",
          "properties": {
            "firstName": {
              "type": "string"
            },
            "photoUrl": {
              "type": "string"
            }
          },
          "required": [
            "firstName"
          ]
        },
        "reviews": {
          "type": "object",
          "properties": {
            "count": {
              "type": "number"
            },
            "ratingAverage": {
              "type": "number"
            }
          },
          "required": [
            "count",
            "ratingAverage"
          ]
        },
        "areaSlug": {
          "type": "string"
        },
        "userGroup": {
          "type": "string"
        },
        "seo": {
          "type": "object",
          "properties": {
            "basic": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string",
                  "description": "bedroom apartment for rent in Madrid City Centre (string, required)"
                },
                "description": {
                  "type": "string"
                },
                "indexable": {
                  "type": "boolean"
                }
              },
              "required": [
                "description",
                "indexable"
              ]
            },
            "twitter": {
              "type": "object",
              "properties": {
                "card": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "description": "bedroom apartment for rent in Madrid City Centre (string, required)"
                },
                "description": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "rent:rooms/80013 (string, required)"
                },
                "imageUrl": {
                  "type": "string",
                  "description": "dev-photos-resized.s3-eu-west-1.amazonaws.com/fsosw_960_540_verified_ur_6_50/2cd7168706448cf9b66e02c1bfcb5dab925b7749a03d50deccc5feba.jpg (string, required)"
                }
              },
              "required": [
                "description"
              ]
            },
            "og": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string"
                },
                "title": {
                  "type": "string",
                  "description": "bedroom apartment for rent in Madrid City Centre (string, required)"
                },
                "description": {
                  "type": "string"
                },
                "url": {
                  "type": "string",
                  "description": "rent:rooms/80013 (string, required)"
                },
                "imageUrl": {
                  "type": "string",
                  "description": "dev-photos-resized.s3-eu-west-1.amazonaws.com/fsosw_960_540_verified_ur_6_50/2cd7168706448cf9b66e02c1bfcb5dab925b7749a03d50deccc5feba.jpg (string, required)"
                },
                "siteName": {
                  "type": "string"
                },
                "locale": {
                  "type": "string"
                }
              },
              "required": [
                "type",
                "description",
                "siteName",
                "locale"
              ]
            },
            "canonical": {
              "type": "string",
              "description": "rent:rooms/80013 (string, required)"
            }
          },
          "required": [
            "basic",
            "twitter",
            "og"
          ]
        },
        "ecommerceProductData": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            },
            "category": {
              "type": "string"
            },
            "brand": {
              "type": "string"
            },
            "price": {
              "type": "number"
            },
            "coupon": {
              "type": "string"
            },
            "quantity": {
              "type": "number"
            }
          },
          "required": [
            "id",
            "name",
            "category",
            "brand",
            "price",
            "coupon",
            "quantity"
          ]
        },
        "customDimensions": {
          "type": "array"
        },
        "instantBooking": {
          "type": "object",
          "properties": {
            "isEnabled": {
              "type": "boolean"
            },
            "rules": {
              "type": "array"
            }
          },
          "required": [
            "isEnabled"
          ]
        },
        "discount": {
          "type": "object",
          "properties": {
            "quantity": {
              "type": "number"
            },
            "expiresAt": {
              "type": "string",
              "description": "Date format"
            },
            "month": {
              "type": "number"
            }
          },
          "required": [
            "quantity",
            "expiresAt",
            "month"
          ]
        },
        "isSuperlister": {
          "type": "boolean"
        },
        "landlordId": {
          "type": "string"
        },
        "bookingConditions": {
          "type": "object",
          "properties": {
            "securityDepositType": {
              "type": "string",
              "enum": [
                "fixed",
                "percentage",
                "noSecurityDeposit",
                "notDefined"
              ]
            },
            "securityDepositValue": {
              "type": "number"
            },
            "adminFeeType": {
              "type": "string",
              "enum": [
                "noAdminFee",
                "fixed",
                "monthlyPercentage",
                "tcvPercentage",
                "notDefined"
              ]
            },
            "adminFeeValue": {
              "type": "number"
            },
            "contractDurationTypesAllowed": {
              "type": "array"
            },
            "hasVetting": {
              "type": "boolean"
            },
            "hasRentCollection": {
              "type": "boolean"
            }
          },
          "required": [
            "securityDepositValue",
            "adminFeeValue",
            "contractDurationTypesAllowed",
            "hasVetting",
            "hasRentCollection"
          ]
        },
        "score": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "points": {
              "type": "number"
            },
            "label": {
              "type": "string"
            }
          },
          "required": [
            "points",
            "label"
          ]
        }
      },
      "required": [
        "id",
        "adId",
        "title",
        "adArea",
        "adTitle",
        "minStay",
        "maxStay",
        "checked",
        "contractType",
        "cancellationPolicy",
        "hasOwnPhotos",
        "maxGapBetweenBookings",
        "bookingAcceptanceMinDays",
        "bookingAcceptanceMaxDays",
        "canonicalLanguage",
        "roomsInApartment",
        "type",
        "ptype",
        "unavailabilities",
        "availabilities",
        "moveInDatesRanges",
        "neighVid",
        "city",
        "cityId",
        "address",
        "area",
        "countryCode",
        "plan",
        "photos",
        "photosV2",
        "videos",
        "features",
        "extraFeatures",
        "bills",
        "gender",
        "suitability",
        "restrictions",
        "numberOfBedrooms",
        "numberOfBathrooms",
        "mainRules",
        "pricing",
        "contents",
        "reviews",
        "areaSlug",
        "userGroup",
        "seo",
        "ecommerceProductData",
        "instantBooking",
        "isSuperlister",
        "landlordId",
        "bookingConditions",
        "score"
      ]
    }
  },
  "required": [
    "isRoomsAggregator",
    "listings"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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"
  ]
}

Sitemaps

Sitemaps catalog

Get listings sitemap manually translated
GET/sitemaps/catalog{?locale,page,itemsPerPage}

Example URI

GET https://monolith.spotahome.com/api/search/sitemaps/catalog?locale=es&page=1&itemsPerPage=100
URI Parameters
HideShow
locale
string (required) Example: es
page
number (required) Example: 1
itemsPerPage
number (optional) Example: 100
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "count": 1,
  "total": 2,
  "_links": {
    "self": {
      "href": "/api/search/sitemaps/catalog?locale=es&page=1"
    },
    "first": {
      "href": "/api/search/sitemaps/catalog?locale=es&page=1"
    },
    "last": {
      "href": "/api/search/sitemaps/catalog?locale=es&page=2"
    },
    "next": {
      "href": "/api/search/sitemaps/catalog?locale=es&page=1"
    },
    "previous": {
      "href": "/api/search/sitemaps/catalog?locale=es&page=2"
    }
  },
  "_embedded": {
    "catalog": [
      {
        "title": "Studio apartments for rent in Madrid",
        "url": "/madrid/for-rent:studios"
      }
    ]
  }
}
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": {
        "catalog": {
          "type": "array"
        }
      }
    }
  },
  "required": [
    "count",
    "total",
    "_links"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/problem+json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

SEO Landings Resolved

Routes

Get all routes
GET/resolved-landings/routes

Example URI

GET https://monolith.spotahome.com/api/search/resolved-landings/routes
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "vienna_NA_apartments_student": {
    "en": "/for-rent/vienna/student-apartments",
    "es": "/alquiler/viena/pisos-estudiantes",
    "fr": "/location/vienne/appartements-etudiants",
    "it": "/affitto/vienna/appartamenti-studenti",
    "de": "/mieten/wien/studenten-wohnungen"
  },
  "lyon_NA_studios_student": {
    "en": "/for-rent/lyon/student-studios",
    "es": "/alquiler/lyon/estudios-estudiantes",
    "fr": "/mieten/lyon/studenten-1-zimmer-wohnung",
    "it": "/affitto/lione/monolocali-studenti"
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "vienna_NA_apartments_student": {
      "type": "object",
      "properties": {
        "en": {
          "type": "string"
        },
        "es": {
          "type": "string"
        },
        "fr": {
          "type": "string"
        },
        "it": {
          "type": "string"
        },
        "de": {
          "type": "string"
        }
      }
    },
    "lyon_NA_studios_student": {
      "type": "object",
      "properties": {
        "en": {
          "type": "string"
        },
        "es": {
          "type": "string"
        },
        "it": {
          "type": "string"
        },
        "fr": {
          "type": "string"
        }
      }
    }
  }
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

External linking

Get all links
GET/resolved-landings/linking{?cityId,locale}

Example URI

GET https://monolith.spotahome.com/api/search/resolved-landings/linking?cityId=madrid&locale=es
URI Parameters
HideShow
cityId
string (required) Example: madrid
locale
string (required) Example: es
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "links": [
    {
      "anchorText": "Appartements pas cher Γ  Paris",
      "url": "/fr/location/paris/appartements-pas-cher"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "links": {
      "type": "array"
    }
  },
  "required": [
    "links"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Favorites

Favorites list

Get all favorites of a user
GET/favorites

Example URI

GET https://monolith.spotahome.com/api/search/favorites
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "total": 4,
  "_links": {
    "self": {
      "href": "/api/search/favorites"
    }
  },
  "_embedded": {
    "favorites": [
      {
        "listingId": 122534,
        "addedOn": "2017-10-17T11:35:14+00:00"
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "favorites": {
          "type": "array"
        }
      },
      "required": [
        "favorites"
      ]
    }
  },
  "required": [
    "total",
    "_links",
    "_embedded"
  ]
}
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",
    "title",
    "type"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Merge favorites into list
PUT/favorites

Example URI

PUT https://monolith.spotahome.com/api/search/favorites
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
[
  1
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array"
}
Response  204
HideShow
Headers
Content-Type: application/json
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",
    "title",
    "type"
  ]
}
Response  409
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",
    "title",
    "type"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Favorite

Add favorite
POST/favorites/{listingId}

Example URI

POST https://monolith.spotahome.com/api/search/favorites/12552
URI Parameters
HideShow
listingId
number (required) Example: 12552
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  201
HideShow
Headers
Content-Type: application/json
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",
    "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"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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 favorite
DELETE/favorites/{listingId}

Example URI

DELETE https://monolith.spotahome.com/api/search/favorites/12552
URI Parameters
HideShow
listingId
number (required) Example: 12552
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
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",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Alerts

Alerts list

Get all alerts of a user
GET/alerts

Example URI

GET https://monolith.spotahome.com/api/search/alerts
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "total": 4,
  "_links": {
    "self": {
      "href": "/api/search/alerts"
    }
  },
  "_embedded": {
    "alerts": [
      {
        "id": "833c62cb-a30b-e9d8-186b-985a-9316cd73536c",
        "cityId": "madrid",
        "mediums": [
          "push",
          "email"
        ],
        "moveIn": "2000-01-01",
        "moveOut": "2001-01-01",
        "minPrice": 500,
        "maxPrice": 1000,
        "propertyTypes": [
          "studios",
          "apartments",
          "rooms",
          "residences"
        ]
      }
    ]
  }
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "total": {
      "type": "number"
    },
    "_links": {
      "type": "object",
      "properties": {
        "self": {
          "type": "object",
          "properties": {
            "href": {
              "type": "string"
            }
          },
          "required": [
            "href"
          ]
        }
      },
      "required": [
        "self"
      ]
    },
    "_embedded": {
      "type": "object",
      "properties": {
        "alerts": {
          "type": "array"
        }
      },
      "required": [
        "alerts"
      ]
    }
  },
  "required": [
    "total",
    "_links",
    "_embedded"
  ]
}
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",
    "title",
    "type"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Add alert
POST/alerts

Example URI

POST https://monolith.spotahome.com/api/search/alerts
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Body
{
  "cityId": "madrid",
  "mediums": [
    "push",
    "email"
  ],
  "moveIn": "2000-01-01",
  "moveOut": "2001-01-01",
  "minPrice": 500,
  "maxPrice": 1000,
  "propertyTypes": [
    "studios",
    "apartments",
    "rooms",
    "residences"
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "cityId": {
      "type": "string"
    },
    "mediums": {
      "type": "array",
      "description": "Mediums supported"
    },
    "moveIn": {
      "type": "string",
      "description": "Date to move in (format YYYY-MM-DD)"
    },
    "moveOut": {
      "type": "string",
      "description": "Date to move out (format YYYY-MM-DD)"
    },
    "minPrice": {
      "type": "number",
      "description": "Minimum price"
    },
    "maxPrice": {
      "type": "number",
      "description": "Maximum price"
    },
    "propertyTypes": {
      "type": "array",
      "description": "Type of the property"
    }
  },
  "required": [
    "cityId",
    "mediums"
  ]
}
Response  201
HideShow
Headers
Content-Type: application/json
Location: /alerts/{new-id}
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",
    "title",
    "type"
  ]
}
Response  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Alert

Remove alert
DELETE/alerts/{alertId}

Example URI

DELETE https://monolith.spotahome.com/api/search/alerts/b486d325-3fc8-4d9a-a678-a6a31d23dc4c
URI Parameters
HideShow
alertId
string (required) Example: b486d325-3fc8-4d9a-a678-a6a31d23dc4c
Request
HideShow
Headers
Content-Type: application/json
Authorization: aa.bb.cc
Response  200
HideShow
Headers
Content-Type: application/json
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",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Alert

Get last alert notification
GET/alerts/{alertId}/last-notification

Example URI

GET https://monolith.spotahome.com/api/search/alerts/b486d325-3fc8-4d9a-a678-a6a31d23dc4c/last-notification
URI Parameters
HideShow
alertId
string (required) Example: b486d325-3fc8-4d9a-a678-a6a31d23dc4c
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "",
  "status": "",
  "transitionedAt": "",
  "itemCollection": [
    {
      "rentableUnitId": 0,
      "title": "",
      "price": {
        "amount": "",
        "code": ""
      },
      "url": "",
      "isPriceFrom": false
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "transitionedAt": {
      "type": "string"
    },
    "itemCollection": {
      "type": "array"
    }
  },
  "required": [
    "id",
    "status",
    "transitionedAt",
    "itemCollection"
  ]
}
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",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Notifications

Get notification
GET/notifications/{notificationId}

Example URI

GET https://monolith.spotahome.com/api/search/notifications/b486d325-3fc8-4d9a-a678-a6a31d23dc4c
URI Parameters
HideShow
notificationId
string (required) Example: b486d325-3fc8-4d9a-a678-a6a31d23dc4c
Request
HideShow
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": "",
  "status": "",
  "transitionedAt": "",
  "itemCollection": [
    {
      "rentableUnitId": 0,
      "title": "",
      "price": {
        "amount": "",
        "code": ""
      },
      "url": "",
      "isPriceFrom": false,
      "mainPhotoUrl": "",
      "firstAvailableDate": "",
      "checked": null,
      "isInstantBooking": null,
      "bills": null,
      "listingScore": null,
      "plan": null,
      "offers": [
        {
          "discountType": "",
          "discountValue": 0,
          "minStay": 0,
          "maxStay": null
        }
      ],
      "securityDeposit": {
        "type": null,
        "value": null
      }
    }
  ],
  "medium": [],
  "locale": "",
  "cityId": "",
  "searchUrl": "",
  "type": "",
  "scheduledAt": "",
  "expiresAt": ""
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "transitionedAt": {
      "type": "string"
    },
    "itemCollection": {
      "type": "array"
    },
    "medium": {
      "type": "array"
    },
    "locale": {
      "type": "string"
    },
    "cityId": {
      "type": "string"
    },
    "searchUrl": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "scheduledAt": {
      "type": "string"
    },
    "expiresAt": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "status",
    "transitionedAt",
    "itemCollection",
    "medium",
    "locale",
    "cityId",
    "searchUrl",
    "type",
    "scheduledAt",
    "expiresAt"
  ]
}
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",
    "title",
    "type"
  ]
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "Ad with ID 120173 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  500
HideShow
Headers
Content-Type: application/json
Body
{
  "detail": "The request was well formed but was unable to be followed due to semantic errors",
  "status": 500,
  "title": "Internal Server Error",
  "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"
  ]
}

Generated by aglio on 27 Nov 2025