Public API description

This page documents only the public read and search endpoints for objects.

Endpoints for adding or editing objects, uploading images, and other write operations are intentionally excluded.

General information

All examples below use the base URL for the active language:

https://lipseesti.ee/eng/

GET full region tree

Returns the hierarchical tree of counties, municipalities, and settlements used by the object search region filter.

Request

GET https://lipseesti.ee/eng/units/getFullRegionTree

Response

[
  {
    "id": "0039",
    "text": "Harju maakond",
    "children": [
      {
        "id": "0784",
        "text": "Tallinn",
        "children": [
          {
            "id": "0468",
            "text": "Kesklinn"
          }
        ]
      }
    ]
  }
]

GET object by ID

Returns the details of a single published object by object ID.

Request

GET https://lipseesti.ee/eng/objects/getObjectDataById/174

Response

{
  "id": 9182,
  "object_id": 174,
  "name": "Tallinna Sotsiaal- ja Tervishoiuamet",
  "address": "Paldiski mnt 48a",
  "lat": "59.431333127797",
  "lon": "24.711095884446",
  "website": "https://www.tallinn.ee/",
  "phone": "6457440",
  "email": "sotsiaal@tallinnlv.ee",
  "published_date": "2024-10-12 09:34:17",
  "description": {
    "value": "Objekti kirjeldus"
  },
  "components": [],
  "image_files": [],
  "video_links": [],
  "accessibilities": [],
  "object_categories": [],
  "linked_objects": [],
  "comments_allowed": true,
  "suggestions_allowed": true
}

GET object by GIS ID

Returns the basic object data by GIS ID. This endpoint is used in map views.

Request

GET https://lipseesti.ee/eng/objects/getObjectDataByGisId/6ecf0a56-6b5c-4b6c-8d8c-123456789abc

Response

{
  "object_id": 174,
  "name": "Tallinna Sotsiaal- ja Tervishoiuamet",
  "address": "Paldiski mnt 48a",
  "lat": "59.431333127797",
  "lon": "24.711095884446",
  "website": "https://www.tallinn.ee/",
  "phone": "6457440",
  "email": "sotsiaal@tallinnlv.ee"
}

POST object search

Returns filtered objects. This endpoint is used mainly in map and popup views.

Request

POST https://lipseesti.ee/eng/objects/getObjectsBySearch
{
  "search": "raamatukogu",
  "filter": {
    "categories": [163],
    "subCategories": [175],
    "groups": [48],
    "accessibilities": [49],
    "properties": [321],
    "regions": ["0037", "0784"],
    "addresses": [
      {
        "county": "0037"
      }
    ],
    "isElectionObject": false,
    "limit": 50,
    "useSession": false
  }
}

JSON response

[
  {
    "object_id": 174,
    "name": "Tallinna Sotsiaal- ja Tervishoiuamet",
    "address": "Paldiski mnt 48a",
    "lat": "59.431333127797",
    "lon": "24.711095884446",
    "object_categories": [],
    "accessibilities": []
  }
]

HTML popup response

When responseType: "HTML" is sent, the endpoint returns an HTML card for a single matched object.

{
  "search": null,
  "responseType": "HTML",
  "filter": {
    "gisId": "6ecf0a56-6b5c-4b6c-8d8c-123456789abc"
  }
}

POST paginated object search

Returns paginated search results together with pagination metadata. This is the main endpoint for the public object list.

Request

POST https://lipseesti.ee/eng/objects/getObjectsBySearchFull
{
  "search": "",
  "filter": {
    "categories": [],
    "subCategories": [],
    "groups": [],
    "accessibilities": [],
    "properties": [],
    "addresses": [
      {
        "county": "0039"
      }
    ],
    "regions": ["0039"],
    "isElectionObject": false,
    "search": ""
  },
  "page": 1,
  "perPage": 24,
  "responseType": "html"
}

JSON response

{
  "items": [
    {
      "object_id": 174,
      "name": "Tallinna Spordihoone",
      "address": "Näide 1",
      "image_files": [],
      "has_video": false
    }
  ],
  "total": 138,
  "page": 1,
  "perPage": 24,
  "totalPages": 6
}

HTML response

When responseType: "html" is sent, the endpoint returns HTML fragments together with pagination metadata.

{
  ".object-search__results": "<article>...</article>",
  ".object-search__pagination": "<nav>...</nav>",
  "paginationData": {
    "total": 138,
    "page": 1,
    "perPage": 24,
    "totalPages": 6
  }
}

POST category counts

Returns result counts for categories and subcategories based on the currently active filters.

Request

POST https://lipseesti.ee/eng/objects/objectsAmountForCategories
{
  "search": "ujula",
  "filter": {
    "categories": [166],
    "subCategories": [],
    "groups": [],
    "accessibilities": [],
    "properties": [],
    "regions": ["0037"],
    "addresses": [],
    "search": "ujula"
  }
}

Response

{
  "categories": [
    { "id": 166, "count": 12 }
  ],
  "subCategories": [
    { "id": 203, "count": 4 }
  ]
}

GET object classifiers

Returns the classifiers used by search: categories, subcategories, target groups, properties, and accessibility groups.

Request

GET https://lipseesti.ee/eng/classifiers/getObjectCategories

Response

{
  "objectCategories": [
    {
      "id": 163,
      "name": "Ametiasutused",
      "icon_path": "authorities",
      "subCategories": [
        {
          "id": 175,
          "name": "Sotsiaalasutused"
        }
      ]
    }
  ],
  "groups": [],
  "properties": [],
  "accessibilityGroups": []
}