MapSet

MapSet APIs allow you to create and manage collections of maps with relative positioning for large-scale VPS coverage.

Overview

A MapSet is a collection of two or more maps positioned relative to each other. This enables:

  • Large area coverage by combining multiple scans

  • Seamless localization across connected spaces

  • Flexible map arrangement and positioning

Using Codes Instead of IDs

All MapSet APIs use human-readable codes:

  • MapSet Code (e.g., MSET_ZIRWP1NV0WBH) - Use this for all MapSet operations

  • Map Code (e.g., MAP_WUTCLWDXTK6U) - Use this when adding maps to a MapSet

You can find these codes in the MultiSet Developer Portal or from API responses.

Endpoints

Create MapSet using Overlap

Creates a new MapSet from two existing maps that share overlapping scan area — pass only the Map Codes of a source and a target map, and the cloud computes the relative pose between them automatically. No relativePose is required in the request.

When to use this: when your two scans overlap physically (e.g. you scanned a corridor twice from each end, or two adjacent rooms share a doorway). The cloud aligns the maps for you. If your maps don't overlap, use Create MapSet and supply relativePose manually instead.

Constraints:

  • Both maps must be in your account and in active status.

  • Neither map can already belong to a MapSet.

  • The sourceMapCode becomes the origin (order=0) of the new MapSet.

Create MapSet using Overlap

post

Creates a new MapSet from two existing maps that share overlapping scan area, by passing the Map Codes of a source map and a target map. The cloud computes the relative pose between the two maps automatically — you do not need to supply a relativePose.

Both maps must already exist in your account, be in active status, and not already belong to any MapSet. The resulting MapSet uses the source map as the origin (order=0).

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Body
namestringRequired

Name of the new MapSet

Example: Building A - Floors 1 & 2
sourceMapCodestringRequired

Map Code of the source map (becomes the MapSet origin)

Example: MAP_WUTCLWDXTK6U
targetMapCodestringRequired

Map Code of the target map to align against the source

Example: MAP_7HXKP2MSNQ4Y
Responses
post
/map-set/overlap

Add Map to MapSet using Overlap

Adds a new map to an existing MapSet by overlapping it against a map that is already part of that MapSet. The cloud computes the new map's relative pose automatically from the overlap — no relativePose is required.

When to use this: when you've added a new scan that overlaps with one of the maps already in a MapSet (e.g. extending coverage to an adjacent area). If the new scan does not overlap any existing map in the set, use Add Map to MapSet and supply relativePose manually instead.

Constraints:

  • sourceMapCode must already be part of the target MapSet (it acts as the anchor for overlap).

  • targetMapCode must be active and not already part of any MapSet.

Add Map to MapSet using Overlap

put

Adds a new map to an existing MapSet by overlapping it against a map already inside that MapSet. The cloud computes the new map's relative pose automatically from the overlap — no relativePose required.

  • sourceMapCode must be a map that is already part of the target MapSet.
  • targetMapCode must be an active map in your account that is not part of any MapSet yet.
  • The resulting transform is stored as the new map's relativePose within the MapSet's coordinate system.
Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Path parameters
mapSetCodestringRequired

MapSet Code of the existing MapSet to extend

Example: MSET_ZIRWP1NV0WBH
Body
sourceMapCodestringRequired

Map Code of an existing map already in the MapSet (the anchor for overlap)

Example: MAP_WUTCLWDXTK6U
targetMapCodestringRequired

Map Code of the new map to add to the MapSet

Example: MAP_3HQNB7L9XP2A
Responses
200

Map added to MapSet successfully

application/json
messagestringOptionalExample: MapSet data processed successfully
put
/map-set/overlap/{mapSetCode}

Create MapSet

Creates a new MapSet with two or more maps. Use Map Codes to reference the maps.

Create MapSet

post

Creates a new MapSet with two or more maps. Each map must include a relative pose defining its position and rotation within the MapSet.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Body
namestringRequired

Name of the MapSet

Example: Building A - Floor 1
Responses
post
/map-set

Get MapSet Details

Retrieves details of a MapSet including all associated maps and their relative poses. Use the MapSet Code (e.g., MSET_ZIRWP1NV0WBH).

Get MapSet Details

get

Retrieves details of a MapSet including all associated maps and their relative poses.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Path parameters
mapSetCodestringRequired

MapSet Code

Example: MSET_ZIRWP1NV0WBH
Responses
200

MapSet details retrieved successfully

application/json
get
/map-set/{mapSetCode}

Update MapSet Details

Updates the name of an existing MapSet. Use the MapSet Code.

Update MapSet Details

put

Updates the name of an existing MapSet.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Path parameters
mapSetCodestringRequired

MapSet Code

Example: MSET_ZIRWP1NV0WBH
Body
namestringRequired

New name for the MapSet

Example: Building A - Updated Name
Responses
200

MapSet updated successfully

application/json
messagestringOptionalExample: MapSet updated successfully
put
/map-set/details/{mapSetCode}

Add Map to MapSet

Adds a new map to an existing MapSet with its relative pose. Use the MapSet Code in the URL and Map Code in the request body.

Add Map to MapSet

put

Adds a new map to an existing MapSet with its relative pose.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Path parameters
mapSetCodestringRequired

MapSet Code

Example: MSET_ZIRWP1NV0WBH
Body
mapCodestringRequired

Map Code

Example: MAP_WUTCLWDXTK6U
Responses
200

Map added to MapSet successfully

application/json
messagestringOptionalExample: MapSet data added successfully
put
/map-set/{mapSetCode}

Update Map Pose in MapSet

Updates the relative pose of a map within a MapSet.

Use the dataId (MapSetData ID) from the Get MapSet Details response. This is the only operation that requires an internal ID.

Update Map Pose in MapSet

put

Updates the relative pose of a map within a MapSet. Use the dataId from the MapSet details response.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Path parameters
dataIdstringRequired

MapSetData ID (obtained from Get MapSet Details response)

Example: 6756c20336a9794c6effce46
Body
Responses
200

Map pose updated successfully

application/json
messagestringOptionalExample: MapSetData updated successfully
put
/map-set/data/{dataId}

Delete Map from MapSet

Removes a map from a MapSet.

Delete Map from MapSet

delete

Removes a map from a MapSet. Cannot delete the primary map (order=0) or if deletion would leave less than 2 maps in the MapSet.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Path parameters
dataIdstringRequired

MapSetData ID (obtained from Get MapSet Details response)

Example: 6756c20336a9794c6effce46
Responses
200

Map removed from MapSet successfully

application/json
messagestringOptionalExample: MapSetData deleted successfully
delete
/map-set/data/{dataId}

Delete MapSet

Deletes a MapSet and all associated map data entries. The maps themselves are not deleted, only their association with the MapSet. Use the MapSet Code.

Delete MapSet

delete

Deletes a MapSet and all associated map data entries. The maps themselves are not deleted, only their association with the MapSet.

Authorizations
AuthorizationstringRequired

JWT token obtained from the authentication endpoint

Path parameters
mapSetCodestringRequired

MapSet Code

Example: MSET_ZIRWP1NV0WBH
Responses
200

MapSet deleted successfully

application/json
messagestringOptionalExample: MapSet and associated MapSetData deleted successfully
delete
/map-set/{mapSetCode}

Schemas

RelativePose

The relativePose object defines a map's position and orientation within the MapSet coordinate system:

Field
Type
Description

position.x

number

X position coordinate

position.y

number

Y position coordinate

position.z

number

Z position coordinate

rotation.qx

number

X component of quaternion rotation

rotation.qy

number

Y component of quaternion rotation

rotation.qz

number

Z component of quaternion rotation

rotation.qw

number

W component of quaternion rotation

The first map in a MapSet (order=0) typically uses identity pose: position (0,0,0) and rotation quaternion (0,0,0,1).

Last updated

Was this helpful?