Skip to content

Open Data REST API Version 1.0

Important Note!
There might be breaking changes in the public beta phase until the APIs are marked as stable and production-ready.

General

Standard Query Parameters

These standard parameters can be used in any export to limit its size or to paginate through the results. All URL parameters are optional and have a reasonable default value.

  • size the maximum amount of results to be returned; maximum 1000, defaults to 100.
  • from the number of initial results that should be skipped; defaults to 0.
  • sortField sort the resulting entries by id, created, modified, name, relevance; in addition location-based queries (like /around search) can sort by distance from the given point with distance
    The default value depends on the type of request: exports are sorted by id, location-based queries by distance, and arbitrary queries by relevance (also known as score).
  • sortOrder defines the order of the results; asc (default for location-based searches) or desc (default for all other queries and exports).
  • validAfter every entry in the result set must be valid after this timestamp in the ISO 8601 format yyyy-MM-dd'T'HH:mm:ss.SSSX; defaults to now/d (the current day rounded down to UTC 00:00)
  • geoFenceName an optional named geo-fence which must be configured in the StadtKatalog instance. Ask the administrators which geo-fences have been pre-configured for the instance.
  • geoFence an optional geo-fence around the entries to include in the format lng,lat,lng,lat,lng,lat,… with the last point matching the first one to close the polygon fence.

Entry API

Entry by ID

Retrieves an entry by its id.

  • URL: /opendata/v1/entry/{:id}
  • Methods: GET
  • URL Params:
    • validAfter: optional timestamp in the ISO 8601 format; if set, only return the entry if it is valid after the given point in time, or return a 410 Gone otherwise. Defaults to the current timestamp.
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON containing the entry with its data, attached assets, and a property hasEnclosures set to true if the entry encloses any other entries, false otherwise.

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/entry/100108

Response Body:

{
  "id": "100108",
  "hasEnclosures": true,
  "created": "2018-02-26T11:51:37.798Z",
  "modified": "2018-02-26T11:51:37.798Z",
  "data": {
    "name": "Coworking Seestern Aspern",
    "label": "Coworking Seestern",
    ...
  },
  "assets": {
    ...
  }
}

Entry Assets

Retrieves all assets attached to the given entry. An asset consists of a mime type, a category (e.g. inside for photos taken inside a property), license information, and a master image plus additional derived versions.

Categories are not predefined and are freely selectable by the uploading client. However, it’s recommended to choose one of the following values: title, storefront, inside, outside, food_drinks, menu, unknown.

  • URL: /opendata/v1/entry/{:id}/assets
  • Methods: GET
  • URL Params: none
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON containing all assets

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/entry/100108/assets

Response Body:

[
  {
    "mimeType": "image/jpeg",
    "category": "inside",
    "spdxLicense": "CC-BY-SA-4.0",
    "licenseInformation": "Philipp Naderer-Puiu",
    "master": "https://example.com/url-to-master",
    "versions":{
      "optimizedMaster": "https://example.com/url-to-version",
      "smallSquare": "https://example.com/url-to-version",
      "facebook191": "https://example.com/url-to-version"
    }
  },
  {
    ...
  },
  ...
]

Entry Enclosures

Retrieves physically enclosed entries for the given main entry. Enclosures are entries within other phyiscal business locations, or buildings. Enclosures can only be retrieved for an entry which is valid at the time of the lookup, but never for an expired one.

Entries are not organized in a strict hierarchy, but an entry can only have one parent of which it is enclosed. There are no checks if the enclosure is reasonable. An entry might have itself as enclosure, there might occur circles over all entries. It is the responsibility of the editors and administrators to manage the enclosures via the inside-of property in a reasonable way.

  • URL: /opendata/v1/entry/{:id}/enclosures
  • Methods: GET
  • URL Params:
  • Success Response:
    • Status: 200
    • Headers:
      • Link, see pagination
      • Total-Enclosures, the total number of enclosures for this entry
    • Body: A JSON containing the enclosures with their data

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/entry/100105/enclosures?size=100

Response Body:

[
  {
    "id": "12345678",
    "hasEnclosures": false,
    "created": "2018-06-11T10:13:20.820Z",
    "modified": "2018-06-11T11:46:48.323Z",
    "data": {
      "name": "Max Mustermann Digital",
      "label": "Mustermann",
      ...
    }
  },
  {
    ...
  },
  ...
]

Search API

The Search API provides methods to search for entries in the StadtKatalog by various fields. It supports all Standard Query Parameters and supports pagination via the size and from parameters. All responses are provided as JSON and include a total result count in the totalHits property. Moreover, searches sorted by relevance (also known as score in Elasticsearch) have a maxScore property and each hit has a relativeScore value with relativeScore = resultScore / maxScore.

Full Text

Performs a full text queries over the following fields: name (most weighted), keywords, description.

  • URL: /opendata/v1/search/fulltext
  • Methods: GET
  • URL Params:
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: JSON object with the properties totalHits (Number), maxScore (Number), hits (Array of results)

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/search/fulltext?q=Seestern&size=1

Response Body:

{
  "totalHits": 2,
  "maxScore": 108.74263763427734,
  "hits": [
    {
      "created": "2018-02-26T11:51:37.644Z",
      "modified": "2018-02-26T11:51:37.644Z",
      "data": {
        "name": "Wohnprojekt Seestern Aspern",
        "label": "Seestern Aspern",
        "description": "...",
        "keywords": [],
        "tags": [
          "icon :: dormitory",
          "3420 :: dies + das"
        ],
        ... more data ...
      },
      "id": "100105",
      "score": 108.74263763427734,
      "relativeScore": 1
    }
  ]
}

Location-Based Query

Performs a full text queries over the following fields: name (most weighted), keywords, description.

  • URL: /opendata/v1/search/around
  • Methods: GET
  • URL Params:
    • lnglat: required location in the form longitude,latitude
    • distance: required the maximum distance a result can be apart from the given location
    • unit: required unit of the distance value, must be one of the following: km, kilometers, m, meters, cm, centimeters, mm, millimeters
    • q: optional additional search query, see full text search
    • and all Standard Query Parameters
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: JSON object with the properties totalHits (Number), maxScore (Number), hits (Array of results, sorted by distance from lnglat by default)

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/search/around?lnglat=16.49945,48.22352&distance=50&unit=m&q=Seestadt

Response Body:

{
  "totalHits": 2,
  "maxScore": null,
  "hits": [
    {
      "created": "2018-02-26T11:51:37.644Z",
      "modified": "2018-02-26T11:51:37.644Z",
      "data": {
        "name": "Wohnprojekt Seestern Aspern",
        "label": "Seestern Aspern",
        "description": "...",
        "keywords": [],
        "tags": [
          "icon :: dormitory",
          "3420 :: dies + das"
        ],
        ... more data ...
      },
      "id": "100105",
      "score": null
    }
  ]
}

Promotion Lookup

Performs a query for entries with promotions. Note that all standard parameters will be applied on the entry itself, not on the enclosed promotion. All promotion-related URL parameters are prefixed with promotion and directly target the nested promotion properties.

  • URL: /opendata/v1/search/promotions
  • Methods: GET
  • URL Params:
    • promotionTitle: search for promotion titles containing the given query string
    • promotionText: search for promotion text descriptions containing the given query string; if you provide a query string for title and text, they will be joined with an logical AND operator
    • promotionStartAfter: only return promotions starting after the given date in the ISO 8601 format yyyy-MM-dd'T'HH:mm:ss.SSSX
    • promotionStartBefore: only return promotions starting before the given date in the ISO 8601 format yyyy-MM-dd'T'HH:mm:ss.SSSX
    • promotionEndAfter: only return promotions ending after the given date in the ISO 8601 format yyyy-MM-dd'T'HH:mm:ss.SSSX
    • promotionEndBefore: only return promotions ending before the given date in the ISO 8601 format yyyy-MM-dd'T'HH:mm:ss.SSSX
    • all Standard Query Parameters are applied on the surrounding entry properties, not on promotions itself
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: JSON object with the properties totalHits (Number), maxScore (Number), hits (Array of results, sorted by distance from lnglat by default)

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/search/promotions?promotionStartAfter=2012-02-26T11%3A51%3A36.806%2B0000&q=United

Response Body:

{
  "totalHits": 1,
  "maxScore": 141.92410278320312,
  "hits": [
    {
      "created": "2018-02-26T11:51:36.806Z",
      "modified": "2018-02-26T20:11:07.900Z",
      "data": {
        "name": "United Test",
        "description": "Fahrradcafé.",
        ...
        "promotions": [
          {
            "start": "2018-03-01T23:00:00.000+0000",
            "end": "2018-03-02T22:59:59.999+0000",
            "title": "... title ...",
            "text": "... text ...",
            "href": "https://www.facebook.com/.../"
          }
        ]
      },
      "id": "100083",
      "score": 141.92410278320312,
      "relativeScore": 1
    }
  ]
}

Export API

The Export API can be used to bulk-export entries from the StadtKatalog. Exports can't be filtered by a search string, but support the Standard Query Parameters and pagination.

Pagination

If the export exceeds the requested page size, the HTTP response contains a Link header field with one or more link relations. If Link doesn't contain a next relation, the export reached the final result page; if it doesn't contain a prev relation, the export reached the first result page. Other possible link relations are first for the first page of results and last for the last page of results.

The total number of entries in the current StadtKatalog instance is returned in the Export-Total-Results header.

Note: size + limit cannot exceed 10,000. The maximum size of paginated exports is 10,000 entries. To export more entries, use geo-fencing to create multiple exports. Merge the resulting exports into a single result set by joining them by their IDs.

GeoJSON

Generates GeoJSON feature collection with all entries and their corresponding entry data.

  • URL: /opendata/v1/export/geojson
  • Methods: GET
  • URL Params:
    • includeAssets: optional switch to include all assets related to an entry in the response; must be true or false (default)
    • contentDisposition: optional switch for the Content-Disposition HTTP response header; inline (default) or attachment (forces a browser download prompt).
    • for other params see Standard Query Parameters
  • Success Response:
    • Status: 200
    • Headers:
    • Body: GeoJSON object

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/export/geojson?size=10&from=20&includeAssets=true

Response Headers:

Link: <https://app.stadtkatalog.org/opendata/v1/export/geojson?size=10&from=0>; rel="first",
    <https://app.stadtkatalog.org/opendata/v1/export/geojson?size=10&from=200>; rel="last",
    <https://app.stadtkatalog.org/opendata/v1/export/geojson?size=10&from=30>; rel="next",
    <https://app.stadtkatalog.org/opendata/v1/export/geojson?size=10&from=10>; rel="prev"
Export-Total-Results: 202

Response Body:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "id": "2890",
      "geometry": {
        "type": "Point",
        "coordinates": [
          10.22492996513955,
          30.502088457345963
        ]
      },
      "properties": {
        "name": "Dr. Mira Musterfrau",
        "label": "Dr. Musterfrau",
        ... more data ...
        "_created": "2017-11-24T15:24:45.970Z",
        "_modified": "2017-11-24T15:24:45.970Z",
        "_assets": [ ... assets ... ]
      }
    },
    ... more features ...
  ]
}

Spreadsheet

Generates an Excel spreadsheet (*.xlsx / Office Open XML) file with all entries and their corresponding entry data. The first row contains column headers. If a non-string field is exported, it will be serialized into its JSON representation. The Content-Disposition header will always set to attachment.

  • URL: /opendata/v1/export/spreadsheet
  • Methods: GET
  • URL Params:
    • format: optional; the only supported spreadsheet format is Office Open XML ooxml (default)
    • for other params see Standard Query Parameters
  • Success Response:
    • Status: 200
    • Headers:
    • Body: the Excel spreadsheet (XLSX)

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/export/spreadsheet?size=10&from=20

Response Headers:

Link: <https://app.stadtkatalog.org/opendata/v1/export/spreadsheet?size=10&from=0>; rel="first",
    <https://app.stadtkatalog.org/opendata/v1/export/spreadsheet?size=10&from=200>; rel="last",
    <https://app.stadtkatalog.org/opendata/v1/export/spreadsheet?size=10&from=30>; rel="next",
    <https://app.stadtkatalog.org/opendata/v1/export/spreadsheet?size=10&from=10>; rel="prev"
Export-Total-Results: 202

Response Body:

binary data: Office Open XML / XSLX Spreadsheet

CSV

Generates a CSV file with all entries and their corresponding entry data. The first row contains column headers. If a non-string field is exported, it will be serialized into its JSON representation.

  • URL: /opendata/v1/export/csv
  • Methods: GET
  • URL Params:
    • format: the CSV format used to export the data, must be one of the following values: rfc4180 (default), excel, mysql, postgresql_csv, postgresql_text, tabs (tab-separated)
    • contentDisposition: optional switch for the Content-Disposition HTTP response header; inline (default) or attachment (forces a browser download prompt).
    • for other params see Standard Query Parameters
  • Success Response:

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/export/csv?size=10&from=20

Response Headers:

Link: <https://app.stadtkatalog.org/opendata/v1/export/csv?size=10&from=0>; rel="first",
    <https://app.stadtkatalog.org/opendata/v1/export/csv?size=10&from=200>; rel="last",
    <https://app.stadtkatalog.org/opendata/v1/export/csv?size=10&from=30>; rel="next",
    <https://app.stadtkatalog.org/opendata/v1/export/csv?size=10&from=10>; rel="prev"
Export-Total-Results: 202

Response Body:

id,created,modified,name, ...
12345,2017-11-24T15:24:45.970Z,2017-11-24T15:24:45.970Z,Dr. Mira Musterfrau, ...

JSON

Generates a JSON file containing entries and their corresponding data.

  • URL: /opendata/v1/export/json
  • Methods: GET
  • URL Params:
    • includeAssets: optional switch to include all assets related to an entry in the response; must be true or false (default)
    • contentDisposition: optional switch for the Content-Disposition HTTP response header; inline (default) or attachment (forces a browser download prompt).
    • for other params see Standard Query Parameters
  • Success Response:
    • Status: 200
    • Headers:
    • Body: JSON array with the exported entries

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/export/json?size=10&from=20&includeAssets=true

Response Headers:

Link: <https://app.stadtkatalog.org/opendata/v1/export/json?size=10&from=0>; rel="first",
    <https://app.stadtkatalog.org/opendata/v1/export/json?size=10&from=200>; rel="last",
    <https://app.stadtkatalog.org/opendata/v1/export/json?size=10&from=30>; rel="next",
    <https://app.stadtkatalog.org/opendata/v1/export/json?size=10&from=10>; rel="prev"
Export-Total-Results: 202

Response Body:

[
  {
    "name": "Dr. Mira Musterfrau",
    "label": "Dr. Musterfrau",
    ... more fields ...
    "_created": "2017-11-24T15:24:45.970Z",
    "_modified": "2017-11-24T15:24:45.970Z",
    "_assets": [ ... assets ... ]
  },
  ... more entries ...
]

News Feed

Generates a news feed (RSS or Atom) containing entries and their corresponding data.

  • URL: /opendata/v1/export/newsfeed
  • Methods: GET
  • URL Params:
    • format: the news feed format used to export the data, must be one of the following values: rss_2.0 (default), rss_1.0, atom_1.0
    • contentDisposition: optional switch for the Content-Disposition HTTP response header; inline (default) or attachment (forces a browser download prompt).
    • for other params see Standard Query Parameters
  • Success Response:
    • Status: 200
    • Headers:
    • Body: news feed XML with the exported entries as JSON

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/export/newsfeed?size=10&from=20

Response Headers:

Link: <https://app.stadtkatalog.org/opendata/v1/export/newsfeed?size=10&from=0>; rel="first",
    <https://app.stadtkatalog.org/opendata/v1/export/newsfeed?size=10&from=200>; rel="last",
    <https://app.stadtkatalog.org/opendata/v1/export/newsfeed?size=10&from=30>; rel="next",
    <https://app.stadtkatalog.org/opendata/v1/export/newsfeed?size=10&from=10>; rel="prev"
Export-Total-Results: 202

Response Body:

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>&#x1f4d6;StadtKatalog</title>
    <link>https://stadtkatalog.org/</link>
    <description>&#x1f4d6;StadtKatalog is an open data powered business directory.</description>
    <pubDate>Mon, 5 Mar 2018 10:20:00 GMT</pubDate>
    <dc:creator>&#x1f4d6;StadtKatalog.org and its contributors.</dc:creator>
    <dc:date>2018-03-05T10:20:00Z</dc:date>
    <item>
      <title>Dr. Mira Musterfrau</title>
      <link>https://app.stadtkatalog.org/opendata/v1/entry/2694</link>
      <description> ... full entry as JSON ... </description>
      ...
    </item>

    ... more entries ...

  </channel>
</rss>

Proposal API

StadtKatalog allows external users to send in edit proposals or new entries.

Proposal Submission

Submits a new edit or create proposal.

  • URL: /opendata/v1/proposal/
  • Methods: POST
  • URL Params: none
  • POST Params:
    • entryId: required for change proposals; the id of the entry to edit
    • contact: JSON object containing contact information of the submitter with the required properties name and email, and an optional comment field
    • data: JSON object containing the entry's (new) data; must conform to the StadtKatalog's JSON schema
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON containing the submitted proposal

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/proposal/

POST Body:

{
  "contact":{
    "name": "Max Mustermann",
    "email": "max.muster@example.org",
    "comment": "Optional Comment"
  },
  "data":{
    "name": "Wohnprojekt Seestern Aspern",
    "description": "...",
    ...
  },
  "entryId":"100105"
}

Response Body:

{
  "created": "2018-03-13T21:16:15.443Z",
  "contact": {
    "name": "Max Mustermann",
    "email": "max.muster@example.org",
    "comment": "Optional Comment"
  },
  "entry": 100105,
  "data": {
    "name": "Wohnprojekt Seestern Aspern",
    "description": "...",
    ...
  }
}

Meta API

The Meta API provides metadata and StadtKatalog instance-specific information. It can be used to configure client applications or to validate other API responses.

License

Returns the instance's license.

  • URL: /opendata/v1/meta/license
  • Methods: GET
  • URL Params:
    • format: the response format, must be json (default) or text
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON object with a property text; or a plaintext response

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/license

Response Body:

{
  "text": "## CC-BY-4.0 license ..."
}

JSON Schema

Provides the instance's JSON schema which is the basis for all entries. All proposals and entries must validate against this schema.

  • URL: /opendata/v1/meta/schema
  • Methods: GET
  • URL Params: none
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: The current JSON schema

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/schema

Response Body:

{
  "$id": "https://stadtkatalog.org/api/v1/stadtkatalog.json",
  "$schema": "http://json-schema.org/draft-06/schema#",
  "description": "...",
  "definitions": {
    ...
  },
  "dependencies": {
    ...
  },
  "type": "object",
  "required": [
    "name",
    "description",
    ...
  ],
  "additionalProperties": false,
  "properties": {
    "name": {
      "type": "string",
      "maxLength": 255,
      "description": "The name of the entry."
    },
    "description": {
      "type": "string",
      "maxLength": 600,
      "description": "A description of the entry."
    },
    ... more properties ...
  }
}

Tag List

Lists the user tags for the instance. User tags can be selected by data administrators and editors to categorize entries and to add additional metadata.

  • URL: /opendata/v1/meta/tags
  • Methods: GET
  • URL Params: none
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON array with all available tags

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/tags

Response Body:

[
  "city :: dies + das",
  "city :: medizin + gesundheit",
  "city :: einkaufen + dienstleistung",
  "icon :: dormitory",
  "icon :: sport"
]

Full Address Lookup

Searches if a valid address is available for the given query.

  • URL: /opendata/v1/meta/address/find
  • Methods: GET
  • URL Params:
    • street: required the full name of the street to search for
    • onr: an ONR (Orientierungsnummer) house number
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON array containing all found addresses matching the given query

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/address/find?street=Gisela-Legath-Gasse&onr=5

Response Body:

[
  {
    "street": "Gisela-Legath-Gasse",
    "from": "5",
    "to": null,
    "onr": "5",
    "ordinalNumber": 5,
    "building": null,
    "postalCode": "1220",
    "city": "Wien",
    "countryCode": "AT",
    "latitude": 48.22354604635277,
    "longitude": 16.4994724861807
  }
]

Address Suggestion

Address suggestion for a given query string.

  • URL: /opendata/v1/meta/address/suggest
  • Methods: GET
  • URL Params:
    • prefix: required prefix query string to search a address name suggestion for
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON array containing address suggestions

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/address/suggest?prefix=Gisela-Legath

Response Body:

[
  {
    "name": "Gisela-Legath-Gasse 5",
    "originalName": "Gisela-Legath-Gasse 5",
    "street": "Gisela-Legath-Gasse",
    "onr": "5",
    "ordinalNumber": 5,
    "building": "",
    "postalCode": "1220",
    "city": "Wien",
    "countryCode": "AT",
    "location": {
      "lat": 48.22354604635277,
      "lon": 16.4994724861807
    }
  },
  ...
]

House Number Lookup

Searches for all possible house numbers for a given street name.

  • URL: /opendata/v1/meta/address/number
  • Methods: GET
  • URL Params:
    • street: required the full name of the street to search for
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON array containing valid house numbers

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/address/number?street=Gisela-Legath-Gasse

Response Body:

[
  {
    "street": "Gisela-Legath-Gasse",
    "onr": "1A",
    "ordinalNumber": 1,
    "building": null,
    "postalCode": "1220",
    "city": "Wien",
    "countryCode": "AT",
    "location": {
      "lat": 48.22415540415811,
      "lon": 16.49763327514058
    }
  },
  {
    "street": "Gisela-Legath-Gasse",
    "onr": "1",
    "ordinalNumber": 1,
    "building": "4",
    "postalCode": "1220",
    "city": "Wien",
    "countryCode": "AT",
    "location": {
      "lat": 48.224191663794336,
      "lon": 16.49678112150835
    }
  },
  ...
]

Performs a distance query around the given location and returns all addresses within radius defined by the distance and unit parameters.

  • URL: /opendata/v1/meta/address/around
  • Methods: GET
  • URL Params:
    • lnglat: required location in the form longitude,latitude
    • distance: required the maximum distance an address can be apart from the given location
    • unit: required unit of the distance value, must be one of the following: km, kilometers, m, meters, cm, centimeters, mm, millimeters
    • size the maximum amount of results to be returned; maximum 1000, defaults to 100.
    • from the number of initial results that should be skipped; defaults to 0.
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON array containing all addresses inside the given radius sorted by distance from lnglat

Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/address/around?lnglat=16.499,48.223546&distance=20&unit=m

Response Body:

[
  {
    "name": "Gisela-Legath-Gasse 8",
    "originalName": "Gisela-Legath-Gasse 8",
    "street": "Gisela-Legath-Gasse",
    "from": "8",
    "to": "",
    "onr": "8",
    "ordinalNumber": 8,
    "building": "",
    "postalCode": "1220",
    "city": "Wien",
    "countryCode": "AT",
    "latitude": 48.22338770994541,
    "longitude": 16.49911918616977
  }
]

Geo-fence List

Returns all configured geo-fences for the StadtKatalog instance.

  • URL: /opendata/v1/meta/geoFences
  • Methods: GET
  • URL Params: none
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON array containing the configured geo-fences with boundaries.

Successful Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/geoFences

Response Body:

[
  { name: "seestadt", fence: [16.47303057834506, ... 48.2219278696145] },
  { name: "nordbahnviertel", fence: [16.39259, ... 48.21652] },
  { name: "stuwerviertel", fence: [16.38916, ... 48.21955] }
]

Geo-fence Name Check

A methods which only returns a successful response if the given geo-fence name is valid and configured in the current StadtKatalog instance.

  • URL: /opendata/v1/meta/checkGeoFenceName
  • Methods: GET
  • URL Params:
    • geoFenceName: required the geo-fence name to check
  • Success Response:
    • Status: 200
    • Headers: none
    • Body: A JSON containing just a property "ok" with value true

Successful Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/checkGeoFenceName?geoFenceName=seestadt

Response Body:

{
  "ok": true
}

Failing Example

Request URL:

https://app.stadtkatalog.org/opendata/v1/meta/checkGeoFenceName?geoFenceName=INVALID

Response Body:

{
  "error": {
    "reason": "Invalid method call",
    "messages": {
      "geoFenceName": [
        "Invalid geo-fence name provided!"
      ]
    }
  }
}