OptimoCMSDocs

Real Estate

Property listings and geo search

GET
/v1/sites/{siteId}/realestate/listings

Authorization

ApiKeyAuth
X-Api-Key<token>

API key obtained from the CMS dashboard.

In: header

Path Parameters

siteId*string

Query Parameters

status?string
Value in"draft" | "published" | "archived" | "sold"
type?string
Value in"sale" | "rent"
propertyType?string
Value in"apartment" | "house" | "villa" | "land" | "commercial" | "other"
limit?integer
Default25
Rangevalue <= 100
cursor?string

Response Body

application/json

curl -X GET "https://example.com/v1/sites/string/realestate/listings"
{
  "data": [
    {
      "id": "string",
      "title": "string",
      "description": "string",
      "type": "sale",
      "propertyType": "apartment",
      "status": "draft",
      "price": 0,
      "currency": "string",
      "address": "string",
      "city": "string",
      "bedrooms": 0,
      "bathrooms": 0,
      "areaSqm": 0,
      "images": [
        "string"
      ],
      "lat": 0,
      "lng": 0,
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "hasMore": true,
  "nextCursor": "string",
  "meta": {
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
POST
/v1/sites/{siteId}/realestate/listings

Authorization

ApiKeyAuth
X-Api-Key<token>

API key obtained from the CMS dashboard.

In: header

Path Parameters

siteId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/sites/string/realestate/listings" \  -H "Content-Type: application/json" \  -d '{    "title": "string",    "type": "sale",    "propertyType": "apartment",    "price": 0,    "address": "string",    "city": "string"  }'
{
  "data": {
    "id": "string",
    "title": "string",
    "description": "string",
    "type": "sale",
    "propertyType": "apartment",
    "status": "draft",
    "price": 0,
    "currency": "string",
    "address": "string",
    "city": "string",
    "bedrooms": 0,
    "bathrooms": 0,
    "areaSqm": 0,
    "images": [
      "string"
    ],
    "lat": 0,
    "lng": 0,
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  },
  "meta": {
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
GET
/v1/sites/{siteId}/realestate/listings/{listingId}

Authorization

ApiKeyAuth
X-Api-Key<token>

API key obtained from the CMS dashboard.

In: header

Path Parameters

siteId*string
listingId*string

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/sites/string/realestate/listings/string"
{
  "data": {
    "id": "string",
    "title": "string",
    "description": "string",
    "type": "sale",
    "propertyType": "apartment",
    "status": "draft",
    "price": 0,
    "currency": "string",
    "address": "string",
    "city": "string",
    "bedrooms": 0,
    "bathrooms": 0,
    "areaSqm": 0,
    "images": [
      "string"
    ],
    "lat": 0,
    "lng": 0,
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  },
  "meta": {
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
PUT
/v1/sites/{siteId}/realestate/listings/{listingId}

Authorization

ApiKeyAuth
X-Api-Key<token>

API key obtained from the CMS dashboard.

In: header

Path Parameters

siteId*string
listingId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/v1/sites/string/realestate/listings/string" \  -H "Content-Type: application/json" \  -d '{}'
{
  "data": {
    "id": "string",
    "title": "string",
    "description": "string",
    "type": "sale",
    "propertyType": "apartment",
    "status": "draft",
    "price": 0,
    "currency": "string",
    "address": "string",
    "city": "string",
    "bedrooms": 0,
    "bathrooms": 0,
    "areaSqm": 0,
    "images": [
      "string"
    ],
    "lat": 0,
    "lng": 0,
    "createdAt": "2019-08-24T14:15:22Z",
    "updatedAt": "2019-08-24T14:15:22Z"
  },
  "meta": {
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
    "timestamp": "2019-08-24T14:15:22Z"
  }
}
POST
/v1/sites/{siteId}/realestate/listings/{listingId}/publish

Authorization

ApiKeyAuth
X-Api-Key<token>

API key obtained from the CMS dashboard.

In: header

Path Parameters

siteId*string
listingId*string

Response Body

curl -X POST "https://example.com/v1/sites/string/realestate/listings/string/publish"
Empty
POST
/v1/sites/{siteId}/realestate/listings/{listingId}/archive

Authorization

ApiKeyAuth
X-Api-Key<token>

API key obtained from the CMS dashboard.

In: header

Path Parameters

siteId*string
listingId*string

Response Body

curl -X POST "https://example.com/v1/sites/string/realestate/listings/string/archive"
Empty
GET
/v1/sites/{siteId}/realestate/search

Authorization

ApiKeyAuth
X-Api-Key<token>

API key obtained from the CMS dashboard.

In: header

Path Parameters

siteId*string

Query Parameters

lat*number
lng*number
radiusKm*number
type?string
Value in"sale" | "rent"

Response Body

application/json

curl -X GET "https://example.com/v1/sites/string/realestate/search?lat=0&lng=0&radiusKm=0"
{
  "data": [
    {
      "id": "string",
      "title": "string",
      "description": "string",
      "type": "sale",
      "propertyType": "apartment",
      "status": "draft",
      "price": 0,
      "currency": "string",
      "address": "string",
      "city": "string",
      "bedrooms": 0,
      "bathrooms": 0,
      "areaSqm": 0,
      "images": [
        "string"
      ],
      "lat": 0,
      "lng": 0,
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "meta": {
    "requestId": "d385ab22-0f51-4b97-9ecd-b8ff3fd4fcb6",
    "timestamp": "2019-08-24T14:15:22Z"
  }
}