Maps

Create a new map

Several aspects can be customized when creating a new map, including:

  • Title

  • Initial location (latitude, longitude and zoom level)

  • Sharing permissions (defaults to viewing and commenting for users with the map URL)

  • An array of URLs to import on map creation

POSThttps://felt.com/api/v2/maps
Body
basemapstring

The basemap to use for the new map. Defaults to "default". Valid values are "default", "light", "dark", "satellite", a valid raster tile URL with {x}, {y}, and {z} parameters, or a hex color string like #ff0000.

descriptionstring

A description to display in the map legend

latnumber

If no data has been uploaded to the map, the initial latitude to center the map display on.

layer_urlsarray of string

An array of urls to use to create layers in the map. Only tile URLs for raster layers are supported at the moment.

lonnumber

If no data has been uploaded to the map, the initial longitude to center the map display on.

public_accessenum

The level of access to grant to the map. Defaults to "view_only".

privateview_onlyview_and_commentview_comment_and_edit
titlestring

The title to be used for the map. Defaults to "Untitled Map"

workspace_idstring

The workspace to create the map in. Defaults to the latest used workspace

zoomnumber

If no data has been uploaded to the map, the initial zoom level for the map to display.

Response

Map

Body
created_at*string (date_time)
Example: "2024-05-25T15:51:34"
element_groups*array of object
elements*GeoJSON
id*string (felt_id)
Example: "V0dnOMOuTd9B9BOsL9C0UjmqC"
layer_groups*array of LayerGroup
layers*array of Layer
linksobject
project_id*string
public_access*enum
privateview_onlyview_and_commentview_comment_and_edit
thumbnail_url*nullable string

A static thumbnail image of the map

title*string
type*enum
map
url*string
visited_at*nullable string (date_time)
Request
const response = await fetch('https://felt.com/api/v2/maps', {
    method: 'POST',
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();
Response
{
  "created_at": "2024-05-25T15:51:34",
  "element_groups": [
    {
      "elements": {
        "features": [
          {
            "geometry": {
              "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
              "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
            },
            "type": "Feature"
          }
        ],
        "type": "FeatureCollection"
      },
      "id": "luCHyMruTQ6ozGk3gPJfEB",
      "name": "text"
    }
  ],
  "elements": {
    "features": [
      {
        "geometry": {
          "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
          "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
        },
        "type": "Feature"
      }
    ],
    "type": "FeatureCollection"
  },
  "id": "V0dnOMOuTd9B9BOsL9C0UjmqC",
  "layer_groups": [
    {
      "id": "v13k4Ae9BRjCHHdPP5Fcm6D",
      "layers": [
        {
          "geometry_type": "Line",
          "hide_from_legend": false,
          "id": "k441enUxQUOnZqc1ZvNsDA",
          "is_spreadsheet": false,
          "links": {
            "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
          },
          "name": "text",
          "progress": 0,
          "status": "uploading",
          "subtitle": "text",
          "tile_url": "text",
          "type": "layer"
        }
      ],
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
      },
      "name": "text",
      "subtitle": "text",
      "type": "layer_group"
    }
  ],
  "layers": [
    {
      "geometry_type": "Line",
      "hide_from_legend": false,
      "id": "k441enUxQUOnZqc1ZvNsDA",
      "is_spreadsheet": false,
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
      },
      "name": "text",
      "progress": 0,
      "status": "uploading",
      "subtitle": "text",
      "tile_url": "text",
      "type": "layer"
    }
  ],
  "links": {
    "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "project_id": "text",
  "public_access": "private",
  "thumbnail_url": "text",
  "title": "text",
  "type": "map",
  "url": "text",
  "visited_at": "text"
}

Delete an existing map

DELETEhttps://felt.com/api/v2/maps/{map_id}
Authorization
Path parameters
map_id*string

The ID of the map to delete

Response

UnauthorizedError

Body
errorsarray of object
Request
const response = await fetch('https://felt.com/api/v2/maps/{map_id}', {
    method: 'DELETE',
    headers: {},
});
const data = await response.json();
Response
{
  "errors": [
    {
      "detail": "text",
      "source": {
        "header": "authorization"
      },
      "title": "text"
    }
  ]
}

Get details of a map

Returns details including title, URL, thumbnail URL, creation and visited timestamps.

GEThttps://felt.com/api/v2/maps/{map_id}
Path parameters
map_id*string
Response

Map

Body
created_at*string (date_time)
Example: "2024-05-25T15:51:34"
element_groups*array of object
elements*GeoJSON
id*string (felt_id)
Example: "V0dnOMOuTd9B9BOsL9C0UjmqC"
layer_groups*array of LayerGroup
layers*array of Layer
linksobject
project_id*string
public_access*enum
privateview_onlyview_and_commentview_comment_and_edit
thumbnail_url*nullable string

A static thumbnail image of the map

title*string
type*enum
map
url*string
visited_at*nullable string (date_time)
Request
const response = await fetch('https://felt.com/api/v2/maps/{map_id}', {
    method: 'GET',
    headers: {},
});
const data = await response.json();
Response
{
  "created_at": "2024-05-25T15:51:34",
  "element_groups": [
    {
      "elements": {
        "features": [
          {
            "geometry": {
              "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
              "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
            },
            "type": "Feature"
          }
        ],
        "type": "FeatureCollection"
      },
      "id": "luCHyMruTQ6ozGk3gPJfEB",
      "name": "text"
    }
  ],
  "elements": {
    "features": [
      {
        "geometry": {
          "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
          "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
        },
        "type": "Feature"
      }
    ],
    "type": "FeatureCollection"
  },
  "id": "V0dnOMOuTd9B9BOsL9C0UjmqC",
  "layer_groups": [
    {
      "id": "v13k4Ae9BRjCHHdPP5Fcm6D",
      "layers": [
        {
          "geometry_type": "Line",
          "hide_from_legend": false,
          "id": "k441enUxQUOnZqc1ZvNsDA",
          "is_spreadsheet": false,
          "links": {
            "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
          },
          "name": "text",
          "progress": 0,
          "status": "uploading",
          "subtitle": "text",
          "tile_url": "text",
          "type": "layer"
        }
      ],
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
      },
      "name": "text",
      "subtitle": "text",
      "type": "layer_group"
    }
  ],
  "layers": [
    {
      "geometry_type": "Line",
      "hide_from_legend": false,
      "id": "k441enUxQUOnZqc1ZvNsDA",
      "is_spreadsheet": false,
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
      },
      "name": "text",
      "progress": 0,
      "status": "uploading",
      "subtitle": "text",
      "tile_url": "text",
      "type": "layer"
    }
  ],
  "links": {
    "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "project_id": "text",
  "public_access": "private",
  "thumbnail_url": "text",
  "title": "text",
  "type": "map",
  "url": "text",
  "visited_at": "text"
}

Update a map's details

Update the title, description and access permissions of a map.

POSThttps://felt.com/api/v2/maps/{map_id}/update
Path parameters
map_id*string

The ID of the map to update

Body
descriptionstring

A description to display in the map legend

public_accessenum

The level of access to grant to the map. Defaults to "view_only".

privateview_onlyview_and_commentview_comment_and_edit
titlestring

The new title for the map

Response

Map

Body
created_at*string (date_time)
Example: "2024-05-25T15:51:34"
element_groups*array of object
elements*GeoJSON
id*string (felt_id)
Example: "V0dnOMOuTd9B9BOsL9C0UjmqC"
layer_groups*array of LayerGroup
layers*array of Layer
linksobject
project_id*string
public_access*enum
privateview_onlyview_and_commentview_comment_and_edit
thumbnail_url*nullable string

A static thumbnail image of the map

title*string
type*enum
map
url*string
visited_at*nullable string (date_time)
Request
const response = await fetch('https://felt.com/api/v2/maps/{map_id}/update', {
    method: 'POST',
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();
Response
{
  "created_at": "2024-05-25T15:51:34",
  "element_groups": [
    {
      "elements": {
        "features": [
          {
            "geometry": {
              "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
              "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
            },
            "type": "Feature"
          }
        ],
        "type": "FeatureCollection"
      },
      "id": "luCHyMruTQ6ozGk3gPJfEB",
      "name": "text"
    }
  ],
  "elements": {
    "features": [
      {
        "geometry": {
          "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
          "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
        },
        "type": "Feature"
      }
    ],
    "type": "FeatureCollection"
  },
  "id": "V0dnOMOuTd9B9BOsL9C0UjmqC",
  "layer_groups": [
    {
      "id": "v13k4Ae9BRjCHHdPP5Fcm6D",
      "layers": [
        {
          "geometry_type": "Line",
          "hide_from_legend": false,
          "id": "k441enUxQUOnZqc1ZvNsDA",
          "is_spreadsheet": false,
          "links": {
            "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
          },
          "name": "text",
          "progress": 0,
          "status": "uploading",
          "subtitle": "text",
          "tile_url": "text",
          "type": "layer"
        }
      ],
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
      },
      "name": "text",
      "subtitle": "text",
      "type": "layer_group"
    }
  ],
  "layers": [
    {
      "geometry_type": "Line",
      "hide_from_legend": false,
      "id": "k441enUxQUOnZqc1ZvNsDA",
      "is_spreadsheet": false,
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
      },
      "name": "text",
      "progress": 0,
      "status": "uploading",
      "subtitle": "text",
      "tile_url": "text",
      "type": "layer"
    }
  ],
  "links": {
    "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "project_id": "text",
  "public_access": "private",
  "thumbnail_url": "text",
  "title": "text",
  "type": "map",
  "url": "text",
  "visited_at": "text"
}

Move a map

Move a map to a different project. Project IDs can be found inside map settings.

POSThttps://felt.com/api/v2/maps/{map_id}/move
Path parameters
map_id*string
Body
project_id*string (felt_id)
Example: "OI22G7wJRzOo2p1RQeHIPB"
Response

Map

Body
created_at*string (date_time)
Example: "2024-05-25T15:51:34"
element_groups*array of object
elements*GeoJSON
id*string (felt_id)
Example: "V0dnOMOuTd9B9BOsL9C0UjmqC"
layer_groups*array of LayerGroup
layers*array of Layer
linksobject
project_id*string
public_access*enum
privateview_onlyview_and_commentview_comment_and_edit
thumbnail_url*nullable string

A static thumbnail image of the map

title*string
type*enum
map
url*string
visited_at*nullable string (date_time)
Request
const response = await fetch('https://felt.com/api/v2/maps/{map_id}/move', {
    method: 'POST',
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "project_id": "OI22G7wJRzOo2p1RQeHIPB"
    }),
});
const data = await response.json();
Response
{
  "created_at": "2024-05-25T15:51:34",
  "element_groups": [
    {
      "elements": {
        "features": [
          {
            "geometry": {
              "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
              "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
            },
            "type": "Feature"
          }
        ],
        "type": "FeatureCollection"
      },
      "id": "luCHyMruTQ6ozGk3gPJfEB",
      "name": "text"
    }
  ],
  "elements": {
    "features": [
      {
        "geometry": {
          "felt:id": "OI22G7wJRzOo2p1RQeHIPB",
          "felt:parentId": "OI22G7wJRzOo2p1RQeHIPB"
        },
        "type": "Feature"
      }
    ],
    "type": "FeatureCollection"
  },
  "id": "V0dnOMOuTd9B9BOsL9C0UjmqC",
  "layer_groups": [
    {
      "id": "v13k4Ae9BRjCHHdPP5Fcm6D",
      "layers": [
        {
          "geometry_type": "Line",
          "hide_from_legend": false,
          "id": "k441enUxQUOnZqc1ZvNsDA",
          "is_spreadsheet": false,
          "links": {
            "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
          },
          "name": "text",
          "progress": 0,
          "status": "uploading",
          "subtitle": "text",
          "tile_url": "text",
          "type": "layer"
        }
      ],
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
      },
      "name": "text",
      "subtitle": "text",
      "type": "layer_group"
    }
  ],
  "layers": [
    {
      "geometry_type": "Line",
      "hide_from_legend": false,
      "id": "k441enUxQUOnZqc1ZvNsDA",
      "is_spreadsheet": false,
      "links": {
        "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
      },
      "name": "text",
      "progress": 0,
      "status": "uploading",
      "subtitle": "text",
      "tile_url": "text",
      "type": "layer"
    }
  ],
  "links": {
    "self": "/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "project_id": "text",
  "public_access": "private",
  "thumbnail_url": "text",
  "title": "text",
  "type": "map",
  "url": "text",
  "visited_at": "text"
}

Last updated