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

post
Authorizations
Body
basemapstringOptional

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.

descriptionstringOptional

A description to display in the map legend

latnumberOptional

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

layer_urlsstring[]Optional

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

lonnumberOptional

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

public_accessstring · enumOptional

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

Possible values:
titlestringOptional

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

workspace_idstringOptional

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

zoomnumberOptional

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

Responses
200
Map
application/json
post
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

delete
Authorizations
Path parameters
map_idstringRequired

The ID of the map to delete

Responses
204
No Content
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
Authorizations
Path parameters
map_idstringRequired
Responses
200
Map
application/json
get
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.

post
Authorizations
Path parameters
map_idstringRequired

The ID of the map to update

Body
basemapstringOptional

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.

descriptionstringOptional

A description to display in the map legend

public_accessstring · enumOptional

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

Possible values:
titlestringOptional

The new title for the map

Responses
200
Map
application/json
post
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
Authorizations
Path parameters
map_idstringRequired
Body
one ofOptional
or
Responses
200
Map
application/json
post
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.

post
Authorizations
Path parameters
map_idstringRequired

The ID of the map to duplicate

Body
destinationone ofOptional
or
titlestringOptional

Title for the duplicated map. If not provided, will default to '[Original Title] (copy)'

Responses
200
Duplicated Map
application/json
post
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?