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
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.
A description to display in the map legend
If no data has been uploaded to the map, the initial latitude to center the map display on.
An array of urls to use to create layers in the map. Only tile URLs for raster layers are supported at the moment.
If no data has been uploaded to the map, the initial longitude to center the map display on.
The level of access to grant to the map. Defaults to "view_only".
The title to be used for the map. Defaults to "Untitled Map"
The workspace to create the map in. Defaults to the latest used workspace
If no data has been uploaded to the map, the initial zoom level for the map to display.
POST /api/v2/maps HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 149
{
"basemap": "text",
"description": "text",
"lat": 1,
"layer_urls": [
"text"
],
"lon": 1,
"public_access": "private",
"title": "text",
"workspace_id": "text",
"zoom": 1
}
{
"basemap": "text",
"created_at": "2024-05-25T15:51:34",
"element_groups": [
{
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"id": "luCHyMruTQ6ozGk3gPJfEB",
"name": "text"
}
],
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"folder_id": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layer_groups": [
{
"caption": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
},
"name": "text",
"ordering_key": 1,
"type": "layer_group",
"visibility_interaction": "default"
}
],
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
},
"project_id": "text",
"public_access": "private",
"table_settings": {
"default_table_layer_id": "luCHyMruTQ6ozGk3gPJfEB",
"viewers_can_open_table": true
},
"thumbnail_url": "text",
"title": "text",
"type": "map",
"url": "text",
"viewer_permissions": {
"can_duplicate_map": true,
"can_export_data": true,
"can_see_map_presence": true
},
"visited_at": "text"
}
Delete an existing map
The ID of the map to delete
DELETE /api/v2/maps/{map_id} HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_API_KEY
Accept: */*
No content
Get details of a map
Returns details including title, URL, thumbnail URL, creation and visited timestamps.
GET /api/v2/maps/{map_id} HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_API_KEY
Accept: */*
{
"basemap": "text",
"created_at": "2024-05-25T15:51:34",
"element_groups": [
{
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"id": "luCHyMruTQ6ozGk3gPJfEB",
"name": "text"
}
],
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"folder_id": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layer_groups": [
{
"caption": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
},
"name": "text",
"ordering_key": 1,
"type": "layer_group",
"visibility_interaction": "default"
}
],
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
},
"project_id": "text",
"public_access": "private",
"table_settings": {
"default_table_layer_id": "luCHyMruTQ6ozGk3gPJfEB",
"viewers_can_open_table": true
},
"thumbnail_url": "text",
"title": "text",
"type": "map",
"url": "text",
"viewer_permissions": {
"can_duplicate_map": true,
"can_export_data": true,
"can_see_map_presence": true
},
"visited_at": "text"
}
Update a map's details
Update the title, description and access permissions of a map.
The ID of the map to update
The basemap to use for the 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.
A description to display in the map legend
The level of access to grant to the map. Defaults to "view_only".
The new title for the map
POST /api/v2/maps/{map_id}/update HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 278
{
"basemap": "text",
"description": "text",
"public_access": "private",
"table_settings": {
"default_table_layer_id": "luCHyMruTQ6ozGk3gPJfEB",
"viewers_can_open_table": true
},
"title": "text",
"viewer_permissions": {
"can_duplicate_map": true,
"can_export_data": true,
"can_see_map_presence": true
}
}
{
"basemap": "text",
"created_at": "2024-05-25T15:51:34",
"element_groups": [
{
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"id": "luCHyMruTQ6ozGk3gPJfEB",
"name": "text"
}
],
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"folder_id": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layer_groups": [
{
"caption": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
},
"name": "text",
"ordering_key": 1,
"type": "layer_group",
"visibility_interaction": "default"
}
],
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
},
"project_id": "text",
"public_access": "private",
"table_settings": {
"default_table_layer_id": "luCHyMruTQ6ozGk3gPJfEB",
"viewers_can_open_table": true
},
"thumbnail_url": "text",
"title": "text",
"type": "map",
"url": "text",
"viewer_permissions": {
"can_duplicate_map": true,
"can_export_data": true,
"can_see_map_presence": true
},
"visited_at": "text"
}
Move a map
Move a map to a different project or folder. Project IDs and Folder IDs can be found inside map settings.
POST /api/v2/maps/{map_id}/move HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 39
{
"project_id": "luCHyMruTQ6ozGk3gPJfEB"
}
{
"basemap": "text",
"created_at": "2024-05-25T15:51:34",
"element_groups": [
{
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"id": "luCHyMruTQ6ozGk3gPJfEB",
"name": "text"
}
],
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"folder_id": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layer_groups": [
{
"caption": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
},
"name": "text",
"ordering_key": 1,
"type": "layer_group",
"visibility_interaction": "default"
}
],
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
},
"project_id": "text",
"public_access": "private",
"table_settings": {
"default_table_layer_id": "luCHyMruTQ6ozGk3gPJfEB",
"viewers_can_open_table": true
},
"thumbnail_url": "text",
"title": "text",
"type": "map",
"url": "text",
"viewer_permissions": {
"can_duplicate_map": true,
"can_export_data": true,
"can_see_map_presence": true
},
"visited_at": "text"
}
Duplicate a map
Duplicate a map and all of its contents.
The ID of the map to duplicate
Title for the duplicated map. If not provided, will default to '[Original Title] (copy)'
POST /api/v2/maps/{map_id}/duplicate HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 70
{
"destination": {
"project_id": "luCHyMruTQ6ozGk3gPJfEB"
},
"title": "text"
}
{
"basemap": "text",
"created_at": "2024-05-25T15:51:34",
"element_groups": [
{
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"id": "luCHyMruTQ6ozGk3gPJfEB",
"name": "text"
}
],
"elements": {
"features": [
{
"geometry": {
"felt:id": "luCHyMruTQ6ozGk3gPJfEB",
"felt:parentId": "luCHyMruTQ6ozGk3gPJfEB"
},
"properties": {},
"type": "Feature"
}
],
"type": "FeatureCollection"
},
"folder_id": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layer_groups": [
{
"caption": "text",
"id": "luCHyMruTQ6ozGk3gPJfEB",
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/v13k4Ae9BRjCHHdPP5Fcm6D"
},
"name": "text",
"ordering_key": 1,
"type": "layer_group",
"visibility_interaction": "default"
}
],
"layers": [
{
"caption": "text",
"geometry_type": "Line",
"hide_from_legend": true,
"id": "luCHyMruTQ6ozGk3gPJfEB",
"is_spreadsheet": true,
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layers/k441enUxQUOnZqc1ZvNsDA"
},
"metadata": {
"attribution_text": "text",
"attribution_url": "text",
"description": "text",
"license": "text",
"source_abbreviation": "text",
"source_name": "text",
"source_url": "text",
"updated_at": "2025-03-24"
},
"name": "text",
"ordering_key": 1,
"progress": 1,
"refresh_period": "15 min",
"status": "uploading",
"style": {},
"tile_url": "text",
"type": "layer"
}
],
"links": {
"self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
},
"project_id": "text",
"public_access": "private",
"table_settings": {
"default_table_layer_id": "luCHyMruTQ6ozGk3gPJfEB",
"viewers_can_open_table": true
},
"thumbnail_url": "text",
"title": "text",
"type": "map",
"url": "text",
"viewer_permissions": {
"can_duplicate_map": true,
"can_export_data": true,
"can_see_map_presence": true
},
"visited_at": "text"
}
Last updated
Was this helpful?