Download OpenAPI specification:Download
The Unit Map® REST API uses standard HTTP verbs to communicate and HTTP status codes to indicate status and errors. All responses come in standard JSON. The API is served over HTTPS to ensure data privacy; HTTP is not supported.
Versions are communicated as VERSION.RELEASE-DATE
, where VERSION
denotes
the version number of the API and prefixed to all API request paths, such as
/v1/maps
. RELEASE-DATE
denotes backwards-compatible changes to the
API.
When any non-backwards compatible additions must be made to the API, the version number will be incremented.
We consider the following changes to be backwards-compatible:
VARCHAR(255) COLLATE utf8_bin
column (the COLLATE
configuration ensures
case-sensitivity in lookups).For requests which require Authentication, an API Key can be provided by
either the api-key
query parameter or API-Key
header. We recommend the
header over the query parameter as it avoids your API key from being stored
in browser history and most server logs. If neither query parameter or
header is provided, a 401
status code is returned with the following JSON:
{
"message": "No API key found in request"
}
If your API key cannot be validated, a 403
status code is returned with
the following JSON:
{
"message": "Invalid authentication credentials"
}
We provide new API features via experimental flags. This allows users to opt-in for new functionality and provide feedback prior to a feature becoming generally available (GA). We believe in stability without stagnation. This ability allows our team to build and ship best-in-class APIs faster while upholding backwards-compatibility on GA features.
Experimental features are subject to change while undergoing development and feedback. Therefore, they are exempt from any backwards-compatibility guarantees until they reach GA. We do not expect nor recommend using experimental features in production environments unless a partnership has been established with our teams working closely together.
Flags are provided via the Experimental-Flags
header. A comma-separated list
is expected in order to pass multiple flags on a single request.
curl -i https://api.unitmap.com/v1/assets \
-H "API-Key: 12345" \
-H "Experimental-Flags: flag-1,flag-2"
The Unit Map API uses standard HTTP status codes to indicate the success or failure of the API request. The body of the response will be JSON in the following format:
{
"message": "Not found"
}
Returns a list of assets.
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "id": "1323",
- "market": "multifamily",
- "name": "The Lofts at New Main",
- "created_at": "2017-09-11T17:08:59+00:00",
- "updated_at": "2019-10-10T04:25:58+00:00"
}
]
}
Returns a specific asset.
asset required | string <id> <= 255 characters An asset ID. |
{- "id": "1323",
- "market": "multifamily",
- "name": "The Lofts at New Main",
- "created_at": "2017-09-11T17:08:59+00:00",
- "updated_at": "2019-10-10T04:25:58+00:00"
}
Returns a list of floors for an asset.
asset required | string <id> <= 255 characters An asset ID. |
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "id": "4730",
- "asset_id": "1323",
- "name": "1",
- "label": "Floor 1",
- "short_label": "1",
- "sort": 2,
- "created_at": "2017-09-11T17:09:17+00:00",
- "updated_at": "2019-01-02T22:01:09+00:00"
}
]
}
Returns a specific floor for an asset.
asset required | string <id> <= 255 characters An asset ID. |
floor required | string <id> <= 255 characters A floor ID. |
{- "id": "4730",
- "asset_id": "1323",
- "name": "1",
- "label": "Floor 1",
- "short_label": "1",
- "sort": 2,
- "created_at": "2017-09-11T17:09:17+00:00",
- "updated_at": "2019-01-02T22:01:09+00:00"
}
Returns a list of asset references.
Requires unitmap.asset-references.read
permission.
NOTICE: This resource is experimental and requires the references
experimental flag.
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
asset | string <id> <= 255 characters An asset ID to filter the list on. |
key | string <= 255 characters ^[a-z]{1}[a-z0-9-]{1,254}$ A key value to filter the list on. |
Experimental-Flags required | string This resource is experimental and requires the |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "id": "2630",
- "asset_id": "4715",
- "key": "google-places",
- "value": "ChIJuw4JzfOGbIcR1PPArQtuTcQ",
- "created_at": "2021-03-11T17:09:18+00:00",
- "updated_at": "2021-01-20T03:44:39+00:00"
}
]
}
Returns a list of units.
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "id": "258670",
- "asset_id": "1323",
- "floor_id": "1",
- "name": "E13",
- "created_at": "2017-09-11T17:09:18+00:00",
- "updated_at": "2018-01-20T03:44:39+00:00"
}
]
}
Returns a specific unit.
unit required | string <id> <= 255 characters A unit ID. |
{- "id": "258670",
- "asset_id": "1323",
- "floor_id": "1",
- "name": "E13",
- "created_at": "2017-09-11T17:09:18+00:00",
- "updated_at": "2018-01-20T03:44:39+00:00"
}
Returns a list of unit references.
Requires unitmap.unit-references.read
permission.
NOTICE: This resource is experimental and requires the references
experimental flag.
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
asset | string <id> <= 255 characters An asset ID to filter the list on. |
key | string <= 255 characters ^[a-z]{1}[a-z0-9-]{1,254}$ A key value to filter the list on. |
Experimental-Flags required | string This resource is experimental and requires the |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "group_id": "2630",
- "asset_id": "1323",
- "unit_id": "258670",
- "key": "yardi-voyager",
- "value": "123456",
- "created_at": "2021-03-11T17:09:18+00:00",
- "updated_at": "2021-01-20T03:44:39+00:00"
}
]
}
Returns a list of allowed unit maps.
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
tags | string <id> <= 255 characters A comma-separated list of one or more tags to filter the list on (e.g. |
asset | string <id> <= 255 characters An asset ID to filter the list on. |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "id": "575",
- "asset_id": "1323",
- "background_id": null,
- "name": "The Lofts at New Main",
- "style": "b",
- "style_type": "floor_plate",
- "tags": [
- "ils",
- "mls"
], - "geojson_url": null,
- "created_at": "2017-09-13T15:35:35+00:00",
- "updated_at": "2020-02-28T21:24:51+00:00"
}
]
}
Requires unitmap.unit-maps.parse
permission
{- "version": "1.2",
- "type": "application/vnd.umap+json",
- "width": 2000,
- "height": 2000,
- "elements": [
- {
- "type": "Level",
- "uid": "u1",
- "tags": {
- "building": "8265",
- "floor": "4735"
}, - "elements": [
- {
- "type": "HitAreaLayer",
- "elements": [
- {
- "shape": {
- "fill": "#FFFFFF",
- "points": "1482.5,1144.65 1482.5,1036.1 1482.5,926.39 1318.29,926.39 1318.29,1036.1 1318.29,1144.65",
- "type": "Polygon"
}, - "type": "HitArea",
- "uid": "u3",
- "target": {
- "id": "258703",
- "type": "Unit"
}
}, - {
- "shape": {
- "fill": "#FFFFFF",
- "points": "1482.5,540.83 1482.5,416.19 1482.5,291.55 1318.29,291.55 1318.29,416.19 1318.29,540.83",
- "type": "Polygon"
}, - "type": "HitArea",
- "uid": "u4",
- "target": {
- "id": "258743",
- "type": "Unit"
}
}, - {
- "shape": {
- "fill": "#FFFFFF",
- "points": "1482.5,786.08 1482.5,662.39 1482.5,540.83 1318.29,540.83 1318.29,662.39 1318.29,786.08",
- "type": "Polygon"
}, - "type": "HitArea",
- "uid": "u5",
- "target": {
- "id": "258701",
- "type": "Unit"
}
}
]
}, - {
- "type": "UnitLayer",
- "elements": [
- {
- "shape": {
- "fill": "#FFFFFF",
- "points": "1482.5,1144.65 1482.5,1036.1 1482.5,926.39 1318.29,926.39 1318.29,1036.1 1318.29,1144.65",
- "type": "Polygon"
}, - "type": "Unit",
- "uid": "u7",
- "id": "258703"
}, - {
- "shape": {
- "fill": "#FFFFFF",
- "points": "1482.5,540.83 1482.5,416.19 1482.5,291.55 1318.29,291.55 1318.29,416.19 1318.29,540.83",
- "type": "Polygon"
}, - "type": "Unit",
- "uid": "u8",
- "id": "258743"
}, - {
- "shape": {
- "fill": "#FFFFFF",
- "points": "1482.5,786.08 1482.5,662.39 1482.5,540.83 1318.29,540.83 1318.29,662.39 1318.29,786.08",
- "type": "Polygon"
}, - "type": "Unit",
- "uid": "u9",
- "id": "258701"
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "fill": "none",
- "stroke": "#000000",
- "stroke-miterlimit": "10",
- "points": "1482.5,1144.65 1482.5,1036.1 1482.5,926.39 1318.29,926.39 1318.29,1036.1 1318.29,1144.65",
- "type": "Polygon"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-miterlimit": "10",
- "points": "1482.5,540.83 1482.5,416.19 1482.5,291.55 1318.29,291.55 1318.29,416.19 1318.29,540.83",
- "type": "Polygon"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-miterlimit": "10",
- "points": "1482.5,786.08 1482.5,662.39 1482.5,540.83 1318.29,540.83 1318.29,662.39 1318.29,786.08",
- "type": "Polygon"
}, - {
- "type": "Layer",
- "elements": [
- {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "points": "1318.29,882.32 1482.5,882.32 1482.5,1144.65 1539.51,1144.65 1539.51,291.55 1482.5,291.55 1482.5,828.65 1375.31,828.65 1375.31,786.08 1318.29,786.08 1318.29,828.65",
- "type": "Polygon"
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "x": 1375.31,
- "y": 786.08,
- "fill": "#FFFFFF",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "width": 53.6,
- "height": 42.57,
- "type": "Rect"
}, - {
- "x": 1428.9,
- "y": 786.08,
- "fill": "#FFFFFF",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "width": 53.6,
- "height": 42.57,
- "type": "Rect"
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "type": "Layer",
- "elements": [
- {
- "x": 1318.29,
- "y": 882.32,
- "transform": "matrix(-1 -1.224647e-16 1.224647e-16 -1 2800.7974 1808.703)",
- "fill": "#FFFFFF",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "width": 164.21,
- "height": 44.07,
- "type": "Rect"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1465.75",
- "y1": "904.35",
- "x2": "1335.05",
- "y2": "904.35",
- "type": "Line"
}, - {
- "type": "Layer",
- "elements": [
- {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1455.56",
- "y1": "926.39",
- "x2": "1455.56",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1447.08",
- "y1": "926.39",
- "x2": "1447.08",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1438.59",
- "y1": "926.39",
- "x2": "1438.59",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1430.1",
- "y1": "926.39",
- "x2": "1430.1",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1421.62",
- "y1": "926.39",
- "x2": "1421.62",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1413.13",
- "y1": "926.39",
- "x2": "1413.13",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1404.64",
- "y1": "926.39",
- "x2": "1404.64",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1396.16",
- "y1": "926.39",
- "x2": "1396.16",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1387.67",
- "y1": "926.39",
- "x2": "1387.67",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1379.18",
- "y1": "926.39",
- "x2": "1379.18",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1370.7",
- "y1": "926.39",
- "x2": "1370.7",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1362.21",
- "y1": "926.39",
- "x2": "1362.21",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1353.72",
- "y1": "926.39",
- "x2": "1353.72",
- "y2": "882.32",
- "type": "Line"
}, - {
- "fill": "none",
- "stroke": "#000000",
- "stroke-width": "0.992",
- "stroke-miterlimit": "10",
- "x1": "1345.23",
- "y1": "926.39",
- "x2": "1345.23",
- "y2": "882.32",
- "type": "Line"
}
]
}
]
}
]
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "type": "Layer",
- "elements": [
- {
- "fill": "#010101",
- "d": "M1389.36,1033.69h-5.56v5.07h6.19v1.52h-8.04v-14.07h7.72v1.52h-5.88v4.45h5.56V1033.69z",
- "type": "Path"
}, - {
- "fill": "#010101",
- "d": "M1400.9,1033.35c0,4.61-1.74,7.16-4.79,7.16c-2.69,0-4.52-2.48-4.56-6.97c0-4.55,1.99-7.06,4.79-7.06C1399.25,1026.49,1400.9,1029.03,1400.9,1033.35z M1393.42,1033.56c0,3.53,1.1,5.53,2.8,5.53c1.91,0,2.82-2.19,2.82-5.66c0-3.34-0.87-5.53-2.8-5.53C1394.6,1027.91,1393.42,1029.87,1393.42,1033.56z",
- "type": "Path"
}, - {
- "fill": "#010101",
- "d": "M1403.71,1038.99c0.4,0.04,0.87,0,1.51-0.06c1.08-0.15,2.1-0.58,2.88-1.32c0.91-0.81,1.57-2,1.82-3.61h-0.06c-0.76,0.92-1.87,1.46-3.25,1.46c-2.48,0-4.07-1.84-4.07-4.15c0-2.57,1.89-4.82,4.71-4.82s4.56,2.25,4.56,5.72c0,2.99-1.02,5.07-2.38,6.37c-1.06,1.02-2.52,1.65-4.01,1.82c-0.68,0.1-1.27,0.12-1.72,0.1V1038.99z M1404.39,1031.18c0,1.69,1.04,2.88,2.65,2.88c1.25,0,2.23-0.61,2.71-1.42c0.11-0.17,0.17-0.38,0.17-0.67c0-2.32-0.87-4.09-2.82-4.09C1405.51,1027.89,1404.39,1029.26,1404.39,1031.18z",
- "type": "Path"
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "fill": "#010101",
- "d": "M1389.36,414.36h-5.56v5.07h6.19v1.52h-8.04v-14.07h7.72v1.52h-5.88v4.45h5.56V414.36z",
- "type": "Path"
}, - {
- "fill": "#010101",
- "d": "M1400.9,414.03c0,4.61-1.74,7.16-4.79,7.16c-2.69,0-4.52-2.48-4.56-6.97c0-4.55,1.99-7.06,4.79-7.06C1399.25,407.16,1400.9,409.71,1400.9,414.03z M1393.42,414.24c0,3.53,1.1,5.53,2.8,5.53c1.91,0,2.82-2.19,2.82-5.66c0-3.34-0.87-5.53-2.8-5.53C1394.6,408.58,1393.42,410.54,1393.42,414.24z",
- "type": "Path"
}, - {
- "fill": "#010101",
- "d": "M1402.62,420.96v-1.13l1.46-1.4c3.52-3.3,5.11-5.05,5.13-7.1c0-1.38-0.68-2.65-2.74-2.65c-1.25,0-2.29,0.63-2.93,1.15l-0.59-1.29c0.95-0.79,2.31-1.38,3.9-1.38c2.97,0,4.22,2,4.22,3.95c0,2.5-1.84,4.53-4.75,7.29l-1.1,1v0.04h6.19v1.52H1402.62z",
- "type": "Path"
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "fill": "#010101",
- "d": "M1389.36,661.63h-5.56v5.07h6.19v1.52h-8.04v-14.07h7.72v1.52h-5.88v4.45h5.56V661.63z",
- "type": "Path"
}, - {
- "fill": "#010101",
- "d": "M1400.9,661.29c0,4.61-1.74,7.16-4.79,7.16c-2.69,0-4.52-2.48-4.56-6.97c0-4.55,1.99-7.06,4.79-7.06C1399.25,654.43,1400.9,656.97,1400.9,661.29z M1393.42,661.5c0,3.53,1.1,5.53,2.8,5.53c1.91,0,2.82-2.19,2.82-5.66c0-3.34-0.87-5.53-2.8-5.53C1394.6,655.85,1393.42,657.81,1393.42,661.5z",
- "type": "Path"
}, - {
- "fill": "#010101",
- "d": "M1406.68,656.37h-0.04l-2.4,1.27l-0.36-1.4l3.01-1.59h1.59v13.57h-1.8V656.37z",
- "type": "Path"
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "d": "M1458.43,805.54h-5.56v5.07h6.19v1.52h-8.04v-14.07h7.72v1.52h-5.88v4.45h5.56V805.54z",
- "type": "Path"
}
]
}, - {
- "type": "Layer",
- "elements": [
- {
- "fill": "#010101",
- "d": "M1404.83,805.54h-5.56v5.07h6.19v1.52h-8.04v-14.07h7.72v1.52h-5.88v4.45h5.56V805.54z",
- "type": "Path"
}
]
}
]
}
]
}
]
}
Returns a specific unit map.
map required | string <id> <= 255 characters A unit map ID. |
{- "id": "575",
- "asset_id": "1323",
- "background_id": null,
- "name": "The Lofts at New Main",
- "style": "b",
- "style_type": "floor_plate",
- "tags": [
- "ils",
- "mls"
], - "geojson_url": null,
- "created_at": "2017-09-13T15:35:35+00:00",
- "updated_at": "2020-02-28T21:24:51+00:00"
}
Returns a list of backgrounds for a unit map.
map required | string <id> <= 255 characters A unit map ID. |
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "id": "1395",
- "unit_map_id": "5416",
- "name": "The Lofts at New Main",
- "created_at": "2017-09-13T15:35:35+00:00",
- "updated_at": "2020-02-28T21:24:51+00:00"
}
]
}
Returns a specific background for a unit map.
map required | string <id> <= 255 characters A unit map ID. |
background required | string <id> <= 255 characters A background ID. |
{- "id": "1395",
- "unit_map_id": "5416",
- "name": "The Lofts at New Main",
- "created_at": "2017-09-13T15:35:35+00:00",
- "updated_at": "2020-02-28T21:24:51+00:00"
}
Returns a list of units for a unit map.
map required | string <id> <= 255 characters A unit map ID. |
page | integer <int32> Request a specific page of resources. |
per-page | integer <int32> Limit the number of returned resources. |
{- "paging": {
- "per_page": 1000,
- "current_page": 1,
- "prev_url": null,
- "next_url": null
}, - "data": [
- {
- "id": "258670",
- "asset_id": "1323",
- "floor_id": "1",
- "name": "E13",
- "created_at": "2017-09-11T17:09:18+00:00",
- "updated_at": "2018-01-20T03:44:39+00:00"
}
]
}
Returns a specific unit for a unit map.
map required | string <id> <= 255 characters A unit map ID. |
unit required | string <id> <= 255 characters A unit ID. |
{- "id": "258670",
- "asset_id": "1323",
- "floor_id": "1",
- "name": "E13",
- "created_at": "2017-09-11T17:09:18+00:00",
- "updated_at": "2018-01-20T03:44:39+00:00"
}