LogoLogo
CMSGitHubSupportBook a demo
  • Documentation
  • Academy
  • Help Center
  • Welcome
  • SDKS & Frameworks
    • Web
      • Getting Started
        • Prerequisites
          • MapsIndoors
          • Map Engine Provider
            • Option 1: Get your Mapbox Access Token
            • Option 2: Get your Google Maps API Keys​
          • Map Engine Setup
        • Getting Started: MapsIndoors
      • Map Visualization
        • Highlight, Hover and Select
        • Remove Labels from Buildings and Venues
        • Change Building Outline
        • Managing Collisions Based on Zoom Level
        • 3D Maps
          • Managing your 3D Maps
        • Base Map Styling - Google Maps
        • Managing feature visibility for Mapbox
      • Wayfinding
        • Directions
        • Directions Service
          • Tailoring the directions to your specific needs
        • Directions Renderer
          • Customizing the Route Animation
        • Multi-stop navigation
          • Custom Icons
        • User's Location as Point of Origin
      • Search
        • Search Operations
        • Searching
        • Using External ID, Geospatial Joins
        • Utilizing MapsIndoors Web Components and Other Searches
      • Map Management
      • Data Visualization
        • Display Heatmap Overlay
      • Other guides
        • Authentication
          • Single Sign-On
            • SSO Configuration
            • SSO Authorisation
          • 2-Factor Authentication
          • Password Reset
        • Application User Roles
        • Custom Properties
        • Display Language
        • Language
        • User Positioning
          • Show User's Location aka. Blue Dot
          • Using Cisco DNA Spaces
        • Working with Events
        • Turn Off Collisions Based on Zoom Level
        • Remove Labels from Buildings and Venues for Web
        • Synchronizing data for a subset of venues
        • Custom Floor Selector
      • Display Rules in Practice
      • Offline Data
      • Managing map visibility
    • Android
      • Getting Started
        • Prerequisites
        • Create a New Project
        • Show a Map
        • Create a Search Experience
        • Getting Directions
        • Enable Live Data
        • Integrating MapsIndoors into your own App
        • Migrating from V3 to V4
          • Migrating to Mapbox V11
      • Directions
        • Directions Service
        • Directions Renderer
          • User's Location as Point of Origin
        • Wayfinding Instructions
          • See Route Element Details
        • Using multi-stop navigation
      • Searching
        • Searching on a Map
        • Creating a Search Experience
      • Switching Solutions
      • Caching & Offline Data
      • Display Language
      • Displaying Objects
        • Application User Roles
        • Getting a Polygon from a Location
        • Location Clustering
        • Location Data Sources
        • Location Details
        • Turn Off Collisions Based on Zoom Level
        • Enabling and Disabling features on the map
      • Change Building Outline Color
      • Event Logging
      • Configuring a menu with AppConfig
      • Display Heatmap Overlay
      • Custom Properties
      • Custom Floor Selector
      • External IDs
      • User Positioning
        • Show User's Location aka. Blue Dot
        • Using Cisco DNA Spaces
        • Using Google Fused Location Provider
        • Using Indoor Atlas
      • Authentication
        • Single Sign-On
          • SSO Configuration
          • SSO Authorisation
        • 2-Factor Authentication
        • Password Reset
      • Display Rules in Practice
        • Label styling through Display Rules
      • Highlight and Select
    • iOS
      • Getting Started
        • Prerequisites
        • Set Up Your Environment
        • Display a Map
        • Search
        • Getting Directions
        • Migrating from v3 to v4
      • Directions
        • Directions Renderer
          • User's Location as Point of Origin
        • Wayfinding Instructions
          • See Route Element Details
        • Directions Service
        • Using multi-stop navigation
      • Searching
        • Searching on a Map
        • Creating a Search Experience
      • Caching & Offline Data
      • Displaying Objects
        • Application User Roles
        • Getting a Polygon from a Location
        • Location Details
        • Turn Off Collisions Based on Zoom Level
        • Enabling and Disabling features on the map
      • Custom Floor Selector
      • Change Building Outline Color
      • Custom Map Padding
      • Custom Properties
      • Display Rules in Practice
        • Label styling through Display Rules
      • Switching Solutions
      • Show User's Location aka. Blue Dot
        • Using Indoor Atlas
        • Using Cisco DNA Spaces
      • Highlight and Select
      • Display Language
    • React Native
      • Getting Started
        • Prerequisites
        • Project Setup
        • Displaying a Map
        • Creating a Search Experience
        • Getting Directions
        • Enabling Live Data
      • Showing Blue Dot
    • Flutter
      • Getting Started
        • Prerequisites
        • Create a New Project
        • Show a Map
        • Create a Search Experience
        • Getting Directions
      • Migration Guide
    • Integration API
      • Integration API Access
        • Access with Swagger
        • Access with Postman
        • Access with Python
        • Client credentials flow
      • Data Description
      • Reverse Geocoding
      • Route Access
      • OpenAPI Specification
    • Built-In Map Edits
      • Getting started
      • Authentication
      • Release notes
      • Reference docs
  • Products
    • Product Overview
    • CMS
      • Interface Overview
      • Display Rules
      • Media Library
        • 2D Models and Icons
        • 3D Models
      • Editing Data
      • Solution Settings
      • Settings
      • Data Concepts
      • User Roles
      • Route Network
        • Barrier Route Element
        • Door Route Element
      • Additional Location Details
    • Map Template
      • Getting Started
        • Web Component
        • React Component
      • Configuration
        • Query Parameters
      • Customization
      • Deploying Map Template to a cloud storage provider
      • 2D/3D Visibility Switch
      • External customization of the Map Template
      • Location Details configuration
      • Kiosk
        • QR code configuration
  • Other
    • Design
      • Standard MapsIndoors Map Style
      • Using a Custom Mapbox MapStyle
    • Changelog
      • Web SDK
        • V4
        • V3
      • Android SDK
        • V4
        • V3
      • iOS SDK
        • V4
        • V3
      • React Native SDK
      • Flutter SDK
      • MI Components
      • Map Template
    • Glossary
  • Legacy Docs
    • Android SDK V3
      • Getting Started
        • Prerequisites
        • Create a New Project
        • Show a Map
        • Create a Search Experience
        • Getting Directions
        • Enable Live Data
        • Integrating MapsIndoors into your own App
    • iOS SDK V3
      • Getting Started
        • Prerequisites
        • Set Up Your Environment
        • Display a Map
        • Search
        • Directions
        • Live Data
        • Integrating MapsIndoors into your own App
      • Inspect Route Element for iOS v3
      • Using Cisco DNA Spaces
      • Using Indoor Atlas
      • Switching Solutions
      • Show User's Location aka. Blue Dot
      • Application User Roles
      • Getting a Polygon from a Location
      • Location Details
  • MapsIndoors SDK Firewall
  • Google Analytics & Logging
  • Reference Docs
    • Web SDK
    • Android SDK
    • iOS SDK
    • React Native SDK
    • Flutter SDK
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. SDKS & Frameworks
  2. Integration API

OpenAPI Specification

Last updated 1 year ago

Was this helpful?

Endpoint root:

https://integration.mapsindoors.com/

Gets all App-User Roles for the solution

get
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Responses
200
OK
application/json
400
BadRequest
401
Unauthorized. User needs to login first.
404
NotFound
get
GET /{apiKey}/api/appUserRoles HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "names": [
      {
        "language": "text",
        "name": "text"
      }
    ]
  }
]

List all categories in the dataset

get
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Responses
200
OK
application/json
400
BadRequest
401
Unauthorized. User needs to login first.
404
NotFound
get
GET /{apiKey}/api/categories HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "key": "text",
    "name": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "icon": "text",
    "imageUrl": "text",
    "properties": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    }
  }
]

Get all dataset objects

get

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Responses
200
OK
application/json
401
Unauthorized. User needs to login first.
get
GET /api/dataset HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "customerId": "text",
    "availableLanguages": [
      "text"
    ],
    "baseLanguage": "text",
    "rootObjects": [
      "text"
    ]
  }
]

Get a dataset object with a specific API Key

get
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Responses
200
OK
application/json
401
Unauthorized. User needs to login first.
get
GET /{apiKey}/api/dataset HTTP/1.1
Host: 
Accept: */*
{
  "id": "text",
  "name": "text",
  "customerId": "text",
  "availableLanguages": [
    "text"
  ],
  "baseLanguage": "text",
  "rootObjects": [
    "text"
  ]
}

Get all dataset Ids for a given customer

get

Oauth2 Roles

  • Requires user to have one of the following roles: owner, service
Authorizations
Query parameters
customerIdstringRequired

The customer ID to use

Responses
200
OK
application/json
Responsestring[]
401
Unauthorized. User needs to login first.
403
Forbidden. User does not have the reqired role(s).
get
GET /api/dataset/customer?customerId=text HTTP/1.1
Host: 
Accept: */*
[
  "db6b07b3f4dd41fba865a5a6"
]

Default route. Can be used for testing if the service is running.

get
Responses
200
OK
application/json
Responseobject
get
GET / HTTP/1.1
Host: 
Accept: */*
200

OK

{}

Get a location type objects from a given solution

get
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Responses
200
OK
application/json
401
Unauthorized. User needs to login first.
get
GET /{apiKey}/api/displaytypes HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "name": "text",
    "displayRules": [
      {
        "name": "text",
        "iconUrl": "text",
        "iconScale": 1,
        "iconSize": {
          "width": 1,
          "height": 1
        },
        "iconPlacement": 0,
        "labelTemplate": "text",
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "labelZoomFrom": 1,
        "labelZoomTo": 1,
        "labelMaxWidth": 1,
        "iconVisible": true,
        "labelVisible": true,
        "polygon": {
          "visible": true,
          "zoomFrom": 1,
          "zoomTo": 1,
          "strokeWidth": 1,
          "strokeColor": "text",
          "strokeOpacity": 1,
          "fillColor": "text",
          "fillOpacity": 1,
          "lightnessFactor": 1
        },
        "markerElevation": 1,
        "walls": {
          "visible": true,
          "height": 1,
          "color": "text",
          "zoomFrom": 1,
          "zoomTo": 1,
          "lightnessFactor": 1
        },
        "extrusion": {
          "visible": true,
          "height": 1,
          "color": "text",
          "zoomFrom": 1,
          "zoomTo": 1,
          "lightnessFactor": 1
        },
        "model3D": {
          "visible": true,
          "zoomFrom": 1,
          "zoomTo": 1,
          "model": "text",
          "rotationX": 1,
          "rotationY": 1,
          "rotationZ": 1,
          "scale": 1
        },
        "model2D": {
          "visible": true,
          "zoomFrom": 1,
          "zoomTo": 1,
          "model": "text",
          "widthMeters": 1,
          "heightMeters": 1,
          "bearing": 1
        },
        "badge": {
          "visible": true,
          "zoomFrom": 1,
          "zoomTo": 1,
          "radius": 1,
          "strokeWidth": 1,
          "strokeColor": "text",
          "fillColor": "text",
          "scale": 1,
          "position": 0
        },
        "labelStyle": {
          "textSize": 1,
          "textColor": "text",
          "textOpacity": 1,
          "haloColor": "text",
          "haloWidth": 1,
          "haloBlur": 1,
          "bearing": 1,
          "graphic": {
            "backgroundImage": "text",
            "stretchX": [
              [
                1
              ]
            ],
            "stretchY": [
              [
                1
              ]
            ],
            "content": [
              1
            ]
          },
          "labelPosition": 0
        },
        "labelType": 0
      }
    ],
    "propertyTemplates": [
      {
        "text": "text",
        "type": "text",
        "defaultValue": [
          "text"
        ]
      }
    ],
    "aliases": [
      "text"
    ],
    "properties": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "restrictions": [
      "text"
    ]
  }
]

Get a mapping for a specific solution

get
Path parameters
datasetIdstringRequired

The dataset ID to use

Default: 92553b2f03794e9ea1521227
Query parameters
originIdstringOptional

(Optional) If not given id's will only match geodata with matching externalId. If set IDs will be found from the mapExternalId table

Default: ubiqisense
Responses
200
OK
application/json
400
BadRequest. (Missing or malformed datasetId)
401
Unauthorized. User needs to login first.
get
GET /{datasetId}/api/geodata/mapExternalId HTTP/1.1
Host: 
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": [
    {
      "id": "text",
      "path": {
        "datasetId": "text",
        "venueId": "text",
        "buildingId": "text",
        "floorId": "text",
        "floorIndex": "text",
        "roomId": "text",
        "locationId": "text"
      },
      "baseType": "text"
    }
  ]
}

Get a mapping from Ids to Paths for all datasets for a customer. Will go though all solutions for the given customer.

get

Oauth2 Roles

  • Requires user to have one of the following roles: owner, service
Authorizations
Query parameters
customerIdstringRequired

The customer ID to use

Default: 5583d3582a91e00f1cc4ecb1
originIdstringOptional

(Optional) Livedata source origin (eg. "ubiqisense"). If not given id's will only match geodata with matching externalId. If set IDs will be found from the mapExternalId table

Default: ubiqisense
Responses
200
OK
application/json
400
BadRequest. (Missing or malformed datasetId)
401
Unauthorized. User needs to login first.
get
GET /api/geodata/mapExternalId/customer?customerId=text HTTP/1.1
Host: 
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "ANY_ADDITIONAL_PROPERTY": [
      {
        "id": "text",
        "path": {
          "datasetId": "text",
          "venueId": "text",
          "buildingId": "text",
          "floorId": "text",
          "floorIndex": "text",
          "roomId": "text",
          "locationId": "text"
        },
        "baseType": "text"
      }
    ]
  }
}

Get a reverse geopoint: Figure out which geodata is at a given point (if any)

get
Path parameters
apiKeystringRequired

API Key

Default: 550c26a864617400a40f0000
Query parameters
latnumber · doubleRequired

Latitude of the point to examine. Valid range: +/- 90

Default: 57.086001
lngnumber · doubleRequired

Longitude of the point to examine. Valid range: +/- 180

Default: 9.957824
floorinteger · int32Required

Floor index to examine

Default: 0
Responses
200
OK
application/json
400
Bad Request (Malformed API Key given)
403
Forbidden (Invalid API Key)
404
NotFound (Unknown API Key)
get
GET /{apiKey}/api/geocode?lat=1&lng=1&floor=1 HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "parentId": "text",
    "datasetId": "text",
    "externalId": "text",
    "baseType": "text",
    "displayTypeId": "text",
    "displaySetting": {
      "name": "text",
      "iconUrl": "text",
      "iconScale": 1,
      "iconSize": {
        "width": 1,
        "height": 1
      },
      "iconPlacement": 0,
      "labelTemplate": "text",
      "visible": true,
      "zoomFrom": 1,
      "zoomTo": 1,
      "labelZoomFrom": 1,
      "labelZoomTo": 1,
      "labelMaxWidth": 1,
      "iconVisible": true,
      "labelVisible": true,
      "polygon": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "strokeWidth": 1,
        "strokeColor": "text",
        "strokeOpacity": 1,
        "fillColor": "text",
        "fillOpacity": 1,
        "lightnessFactor": 1
      },
      "markerElevation": 1,
      "walls": {
        "visible": true,
        "height": 1,
        "color": "text",
        "zoomFrom": 1,
        "zoomTo": 1,
        "lightnessFactor": 1
      },
      "extrusion": {
        "visible": true,
        "height": 1,
        "color": "text",
        "zoomFrom": 1,
        "zoomTo": 1,
        "lightnessFactor": 1
      },
      "model3D": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "model": "text",
        "rotationX": 1,
        "rotationY": 1,
        "rotationZ": 1,
        "scale": 1
      },
      "model2D": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "model": "text",
        "widthMeters": 1,
        "heightMeters": 1,
        "bearing": 1
      },
      "badge": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "radius": 1,
        "strokeWidth": 1,
        "strokeColor": "text",
        "fillColor": "text",
        "scale": 1,
        "position": 0
      },
      "labelStyle": {
        "textSize": 1,
        "textColor": "text",
        "textOpacity": 1,
        "haloColor": "text",
        "haloWidth": 1,
        "haloBlur": 1,
        "bearing": 1,
        "graphic": {
          "backgroundImage": "text",
          "stretchX": [
            [
              1
            ]
          ],
          "stretchY": [
            [
              1
            ]
          ],
          "content": [
            1
          ]
        },
        "labelPosition": 0
      },
      "labelType": 0
    },
    "geometry": {
      "type": 0
    },
    "anchor": {
      "type": 0,
      "coordinates": [
        1
      ]
    },
    "aliases": [
      "text"
    ],
    "categories": [
      "text"
    ],
    "status": 0,
    "baseTypeProperties": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "properties": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "tilesUrl": "text",
    "tileStyles": [
      {
        "displayName": "text",
        "style": "text"
      }
    ]
  }
]

Get geodata objects from a given dataset

get
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Query parameters
rootElementsstringOptional

(Optional) Filter the output so only elements with ancestors matches a root element is returned

Default: 5548c6583eb3c3080c4a92da
baseTypesstringOptional

(Optional) Filter the output so only elements of the given type is returned. Supported values: "poi", "room", "floor", "building", "venue", "area"

Default: poi
Responses
200
OK
application/json
400
BadRequest. (Missing or malformed datasetId)
401
Unauthorized. User needs to login first.
get
GET /{apiKey}/api/geodata HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "parentId": "text",
    "datasetId": "text",
    "externalId": "text",
    "baseType": "text",
    "displayTypeId": "text",
    "displaySetting": {
      "name": "text",
      "iconUrl": "text",
      "iconScale": 1,
      "iconSize": {
        "width": 1,
        "height": 1
      },
      "iconPlacement": 0,
      "labelTemplate": "text",
      "visible": true,
      "zoomFrom": 1,
      "zoomTo": 1,
      "labelZoomFrom": 1,
      "labelZoomTo": 1,
      "labelMaxWidth": 1,
      "iconVisible": true,
      "labelVisible": true,
      "polygon": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "strokeWidth": 1,
        "strokeColor": "text",
        "strokeOpacity": 1,
        "fillColor": "text",
        "fillOpacity": 1,
        "lightnessFactor": 1
      },
      "markerElevation": 1,
      "walls": {
        "visible": true,
        "height": 1,
        "color": "text",
        "zoomFrom": 1,
        "zoomTo": 1,
        "lightnessFactor": 1
      },
      "extrusion": {
        "visible": true,
        "height": 1,
        "color": "text",
        "zoomFrom": 1,
        "zoomTo": 1,
        "lightnessFactor": 1
      },
      "model3D": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "model": "text",
        "rotationX": 1,
        "rotationY": 1,
        "rotationZ": 1,
        "scale": 1
      },
      "model2D": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "model": "text",
        "widthMeters": 1,
        "heightMeters": 1,
        "bearing": 1
      },
      "badge": {
        "visible": true,
        "zoomFrom": 1,
        "zoomTo": 1,
        "radius": 1,
        "strokeWidth": 1,
        "strokeColor": "text",
        "fillColor": "text",
        "scale": 1,
        "position": 0
      },
      "labelStyle": {
        "textSize": 1,
        "textColor": "text",
        "textOpacity": 1,
        "haloColor": "text",
        "haloWidth": 1,
        "haloBlur": 1,
        "bearing": 1,
        "graphic": {
          "backgroundImage": "text",
          "stretchX": [
            [
              1
            ]
          ],
          "stretchY": [
            [
              1
            ]
          ],
          "content": [
            1
          ]
        },
        "labelPosition": 0
      },
      "labelType": 0
    },
    "geometry": {
      "type": 0
    },
    "anchor": {
      "type": 0,
      "coordinates": [
        1
      ]
    },
    "aliases": [
      "text"
    ],
    "categories": [
      "text"
    ],
    "status": 0,
    "baseTypeProperties": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "properties": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "tilesUrl": "text",
    "tileStyles": [
      {
        "displayName": "text",
        "style": "text"
      }
    ]
  }
]

Drops all (generated) graphs for a given solution causing the graph for these to be re-calculated

delete

Oauth2 Roles

  • Requires user to have the role: owner
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: e718136997bb479b801d7146
Query parameters
graphIdstringOptional

(Optional) If set, only this graph will be deleted

Default: null
Responses
200
OK
delete
DELETE /{apiKey}/api/graphs/graph HTTP/1.1
Host: 
Accept: */*
200

OK

No content

Get a list of graphs in a solution

get
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Responses
200
OK
application/json
Responsestring[]
400
BadRequest (Malformed solutionId)
401
Unauthorized. User needs to login first.
404
NotFound
get
GET /{apiKey}/api/routing/graphs HTTP/1.1
Host: 
Accept: */*
[
  "db6b07b3f4dd41fba865a5a6"
]

Get a list of route elements for a given graph

get
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Query parameters
graphIdstringRequired

The graphId to use

Default: RTX_Graph
Responses
200
OK
application/json
400
BadRequest (Malformed solutionId)
401
Unauthorized. User needs to login first.
404
NotFound
get
GET /{apiKey}/api/routing/routeelements?graphId=text HTTP/1.1
Host: 
Accept: */*
[
  {
    "id": "text",
    "datasetId": "text",
    "externalId": "text",
    "geometry": {
      "type": 0
    },
    "restrictions": [
      "text"
    ],
    "onewayDirection": 1,
    "waitTime": 1
  }
]
  • GETGets all App-User Roles for the solution
  • GETList all categories in the dataset
  • POSTCreate a new category object
  • PUTUpdate a number of existing categories.
  • DELETEDelete existing categories
  • GETGet all dataset objects
  • GETGet a dataset object with a specific API Key
  • GETGet all dataset Ids for a given customer
  • GETDefault route. Can be used for testing if the service is running.
  • GETGet a location type objects from a given solution
  • POSTCreate a new display type object
  • PUTUpdate a number of existing DisplayTypes.
  • DELETEDelete existing DisplayTypes
  • GETGet a mapping for a specific solution
  • GETGet a mapping from Ids to Paths for all datasets for a customer. Will go though all solutions for the given customer.
  • GETGet a reverse geopoint: Figure out which geodata is at a given point (if any)
  • GETGet geodata objects from a given dataset
  • POSTCreate one or more new geodata objects
  • PUTUpdate a number of existing geodata.
  • DELETEDelete existing geodata
  • POSTPlace 2d models for rooms and area geodata
  • DELETEDrops all (generated) graphs for a given solution causing the graph for these to be re-calculated
  • GETGet a list of graphs in a solution
  • GETGet a list of route elements for a given graph
  • PUTUpdate WaitTime, Restrictions and OnewayDirection data for a number of route element(s)

Create a new category object

post

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
idstring | nullableOptional
keystring | nullableOptional
iconstring | nullableOptional
imageUrlstring | nullableOptional
Responses
200
OK
201
Created
400
BadRequest
401
Unauthorized. User needs to login first.
409
Conflict
post
POST /{apiKey}/api/categories HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 60

[
  {
    "key": "ENTRANCE",
    "name": {
      "en": "Entrance",
      "da": "Indgang"
    }
  }
]

No content

Update a number of existing categories.

put

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
idstring | nullableOptional
keystring | nullableOptional
iconstring | nullableOptional
imageUrlstring | nullableOptional
Responses
200
OK
204
NoContent
400
BadRequest
401
Unauthorized. User needs to login first.
404
NotFound
409
Conflict
put
PUT /{apiKey}/api/categories HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 92

[
  {
    "id": "5823246d07215b23a02e3cdd",
    "key": "ENTRANCE",
    "name": {
      "en": "Entrance",
      "da": "Indgang"
    }
  }
]

No content

Delete existing categories

delete

Only poi geodata can be deleted for now.

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
string[]Optional
Responses
200
OK
400
BadRequest
401
Unauthorized. User needs to login first.
403
Forbidden (Authenticed but now allowed to do the requested action)
delete
DELETE /{apiKey}/api/categories HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 28

[
  "db6b07b3f4dd41fba865a5a6"
]

No content

Create a new display type object

post

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
idstring | nullableOptional
namestring | nullableOptional
aliasesstring[] | nullableOptional
restrictionsstring[] | nullableOptional
Responses
200
OK
201
Created
400
BadRequest
401
Unauthorized. User needs to login first.
409
Conflict
post
POST /{apiKey}/api/displaytypes HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 268

[
  {
    "name": "Entrance",
    "displayRules": [
      {
        "name": "default",
        "iconUrl": "https://app.mapsindoors.com/mapsindoors/gfx/bella/80/Entrance.png",
        "visible": true,
        "zoomFrom": 17,
        "zoomTo": 21,
        "labelZoomFrom": 17,
        "labelZoomTo": 21
      }
    ],
    "properties": {
      "name@en": "Entrance",
      "name@da": "Indgang"
    }
  }
]

No content

Update a number of existing DisplayTypes.

put

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
idstring | nullableOptional
namestring | nullableOptional
aliasesstring[] | nullableOptional
restrictionsstring[] | nullableOptional
Responses
200
OK
204
NoContent
400
BadRequest
401
Unauthorized. User needs to login first.
404
NotFound
409
Conflict
put
PUT /{apiKey}/api/displaytypes HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 300

[
  {
    "id": "0a7533a062e84ed0a72a621a",
    "name": "Entrance",
    "displayRules": [
      {
        "name": "default",
        "iconUrl": "https://app.mapsindoors.com/mapsindoors/gfx/bella/80/Entrance.png",
        "visible": true,
        "zoomFrom": 17,
        "zoomTo": 21,
        "labelZoomFrom": 17,
        "labelZoomTo": 21
      }
    ],
    "properties": {
      "name@en": "Entrance",
      "name@da": "Indgang"
    }
  }
]

No content

Delete existing DisplayTypes

delete

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
string[]Optional
Responses
200
OK
400
BadRequest
401
Unauthorized. User needs to login first.
403
Forbidden (Authenticed but now allowed to do the requested action)
delete
DELETE /{apiKey}/api/displaytypes HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 28

[
  "db6b07b3f4dd41fba865a5a6"
]

No content

Create one or more new geodata objects

post

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
idstring | nullableOptional
lastModifiedstring · date-time | nullableOptional
lastModifiedBystring | nullableOptional
createdAtstring · date-time | nullableOptional
createdBystring | nullableOptional
parentIdstring | nullableOptional
datasetIdstring | nullableOptional
externalIdstring | nullableOptional
solutionIdstring | nullableOptional
baseTypestring | nullableOptional
displayTypeIdstring | nullableOptional
displaySettingall of | nullableOptional
geometryall of | nullableOptional
anchorall of | nullableOptional
aliasesstring[] | nullableOptional
categoriesstring[] | nullableOptional
statusall ofOptional

Bit 1: Active. Bit 2: Searchable. For Locations Status.Active is not used in never SDKs, it is overwritten with bool from evaluating if the current time is between ActiveFrom-ActiveTo. Searchable is used

integer · enumOptional

Bit 1: Active. Bit 2: Searchable. For Locations Status.Active is not used in never SDKs, it is overwritten with bool from evaluating if the current time is between ActiveFrom-ActiveTo. Searchable is used

Possible values:
tilesUrlstring | nullableOptional
Responses
200
OK
application/json
Responsestring[]
201
Created
400
BadRequest
401
Unauthorized. User needs to login first.
post
POST /{apiKey}/api/geodata HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 1078

[
  {
    "parentId": "34c588fecbee45f199e8d67c",
    "datasetId": "550c26a864617400a40f0000",
    "solutionId": "550c26a864617400a40f0000",
    "baseType": "poi",
    "displayTypeId": "b6356efe8f044766979f70cf",
    "displaySetting": {
      "name": "default"
    },
    "geometry": {
      "coordinates": [
        9.957280663317908,
        57.08613355600178
      ],
      "type": "Point"
    },
    "anchor": {
      "coordinates": [
        9.957280663317908,
        57.08613355600178
      ],
      "type": "Point"
    },
    "aliases": [],
    "categories": [
      "5823246d07215b23a02e3cd8"
    ],
    "status": 3,
    "baseTypeProperties": {
      "administrativeid": "9213bd5a-e335-4ee4-8465-2a7ef3491e94",
      "imageurl": "https://tiles.mapsindoors.com/tiles/indoor/rtx/mapspeople.png",
      "capacity": "0"
    },
    "properties": {
      "website@da": "my.website.com",
      "email@da": "sample@sample.com",
      "phone@da": "555 1234567",
      "samplekey@da": "samplevalue",
      "name@da": "Sample infodesk (Danish)",
      "description@da": "Sample description for this information desk (Danish)",
      "website@en": "my.website.com",
      "email@en": "sample@sample.com",
      "phone@en": "555 1234567",
      "samplekey@en": "samplevalue",
      "name@en": "Sample infodesk (English)",
      "description@en": "Sample description for this information desk (English)"
    }
  }
]
[
  "db6b07b3f4dd41fba865a5a6"
]

Update a number of existing geodata.

put

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
Responses
200
OK
204
NoContent
400
BadRequest
401
Unauthorized. User needs to login first.
404
NotFound
409
Conflict
put
PUT /{apiKey}/api/geodata HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 1110

[
  {
    "parentId": "34c588fecbee45f199e8d67c",
    "datasetId": "550c26a864617400a40f0000",
    "solutionId": "550c26a864617400a40f0000",
    "baseType": "poi",
    "displayTypeId": "b6356efe8f044766979f70cf",
    "displaySetting": {
      "name": "default"
    },
    "geometry": {
      "coordinates": [
        9.957280663317908,
        57.08613355600178
      ],
      "type": "Point"
    },
    "anchor": {
      "coordinates": [
        9.957280663317908,
        57.08613355600178
      ],
      "type": "Point"
    },
    "aliases": [],
    "categories": [
      "5823246d07215b23a02e3cd8"
    ],
    "status": 3,
    "baseTypeProperties": {
      "administrativeid": "9213bd5a-e335-4ee4-8465-2a7ef3491e94",
      "imageurl": "https://tiles.mapsindoors.com/tiles/indoor/rtx/mapspeople.png",
      "capacity": "0"
    },
    "properties": {
      "website@da": "my.website.com",
      "email@da": "sample@sample.com",
      "phone@da": "555 1234567",
      "samplekey@da": "samplevalue",
      "name@da": "Sample infodesk (Danish)",
      "description@da": "Sample description for this information desk (Danish)",
      "website@en": "my.website.com",
      "email@en": "sample@sample.com",
      "phone@en": "555 1234567",
      "samplekey@en": "samplevalue",
      "name@en": "Sample infodesk (English)",
      "description@en": "Sample description for this information desk (English)"
    },
    "id": "f441e4799b0f4c1ea2ea042b"
  }
]

No content

Delete existing geodata

delete

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
string[]Optional
Responses
200
OK
400
BadRequest
401
Unauthorized. User needs to login first.
403
Forbidden (Authenticed but now allowed to do the requested action)
delete
DELETE /{apiKey}/api/geodata HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 28

[
  "db6b07b3f4dd41fba865a5a6"
]

No content

Place 2d models for rooms and area geodata

post

A 2d model must be available in the geodata referenced to before it can be placed

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Query parameters
rectFitModeall ofOptional

A number of ways to fit an image to a given polygon.

Default: trendingAngle
string · enumOptional

A number of ways to fit an image to a given polygon.

Possible values:
Body
idstring | nullableOptional
widthnumber · doubleOptional
heightnumber · doubleOptional
Responses
200
OK
400
BadRequest
401
Unauthorized. User needs to login first.
403
Forbidden (Authenticed but now allowed to do the requested action)
post
POST /{apiKey}/api/geodata/place2dmodel HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 59

[
  {
    "id": "6691bf61342c46c8a039397c",
    "width": 98,
    "height": 514
  }
]

No content

Update WaitTime, Restrictions and OnewayDirection data for a number of route element(s)

put

Oauth2 Roles

  • Requires user to have one of the following roles: admin, editor, owner, service
Authorizations
Path parameters
apiKeystringRequired

The API Key to use

Default: 550c26a864617400a40f0000
Body
idstring | nullableOptional
datasetIdstring | nullableOptional
externalIdstring | nullableOptional

UUID of this element as an extern ID

geometryall of | nullableOptional

geoJSON point where this element is placed

restrictionsstring[] | nullableOptional

(Optional) IF set - one or more of these tokens will be needed to traverse this area

onewayDirectionnumber · double | nullableOptional

(Optional) IF set - end users may only walk in the direction stated within the area (+/- 90 degrees)

waitTimeinteger · int32 | nullableOptional

(Optional) IF set (to a positive number) end users will be asked to wait this additional amount of seconds here.

Responses
200
OK
400
BadRequest (Malformed solutionId)
401
Unauthorized. User needs to login first.
404
NotFound
put
PUT /{apiKey}/api/routing/routeelements HTTP/1.1
Host: 
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 191

[
  {
    "id": "79edd6bb64724381bbf43923",
    "datasetId": "550c26a864617400a40f0000",
    "geometry": {
      "coordinates": [
        9.95721348677762,
        57.0860020274923
      ],
      "type": "Point"
    },
    "restrictions": [
      "locked"
    ],
    "waitTime": 0
  }
]

No content