LogoLogo
Sign upHelp CenterContactSocial
Home
Home
  • Overview
  • REST API
    • Getting started
    • Navigating maps and workspaces
    • Uploading files and URLs
    • Styling layers
    • Refreshing live data layers
    • Working with elements
    • Listening to updates using webhooks
    • API Reference
      • Authentication
      • Maps
      • Layers
      • Elements
      • Users
      • Comments
      • Embed Tokens
      • Sources
      • Projects
  • JS SDK
    • Getting started
    • General concepts
    • Controlling maps
    • Working with selection
    • Reading entities
    • Drawing elements
    • Working with layers
    • Layer filters
    • Building custom charts
    • Map interactions and viewport
    • Hiding and showing
    • Integrating with React
    • Sample application
    • Examples
    • API Reference
  • Felt Style Language
    • Getting started
    • Style definition blocks
      • The config block
      • The paint block
      • The label block
      • The legend block
      • The popup block
      • The attributes block
      • The filters block
    • Types of visualizations
      • Simple visualizations
      • Categorical visualizations
      • Numeric visualizations (color & size)
      • Heatmaps
      • Hillshade
    • Zoom-based Styling
      • Interpolators
    • Legends
    • Errors
    • Examples
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. REST API
  2. API Reference

Sources

PreviousEmbed TokensNextProjects

Last updated 1 month ago

Was this helpful?

Manage your with Felt REST API.

List Sources

Lists Sources that you have access to. To see the datasets in an individual Source, fetch it from the Show Source endpoint.

Show Source

Fetches a single Source and all the datasets it contains.

Add a layer from a Source

Create a Source

Triggers the creation of a new Source. Each connection type has it's own set of required parameters, depending on what kind of Source it is. These are provided in the connection field.

Connecting the Source and inspecting it's datasets will happen asynchronously after the API response is returned. To determine when the inspection process has completed, poll the Show Source endpoint and check for sync_status: completed.

Sync a Source

Triggers Felt to reconnect to your Source and re-inspect all the datasets it contains. Syncing will happen asynchronously after the API response is returned. To determine when the inspection process has completed, poll the Show Source endpoint and check for sync_status: completed.

Update a Source

Updates details of a Source. Connecting the Source and inspecting it's datasets will happen asynchronously after the API response is returned. To determine when the inspection process has completed, poll the Show Source endpoint and check for sync_status: completed.

Delete a Source

Deletes a Source.

Any layers created from the Source will remain after it is deleted, but they will no longer be refreshed.

Cloud Data Sources
get
Authorizations
Query parameters
workspace_idstringOptional

Only needed when using the API as part of a plugin

Responses
200
Source references
application/json
401
UnauthorizedError
application/json
403
UnauthorizedError
application/json
404
NotFoundError
application/json
422
Unprocessable Entity
application/json
429
Unprocessable Entity
application/json
500
InternalServerError
application/json
get
GET /api/v2/sources HTTP/1.1
Host: felt.com
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "automatic_sync": "enabled",
    "connection_type": "bigquery",
    "created_at": 1,
    "id": "luCHyMruTQ6ozGk3gPJfEB",
    "last_synced_at": 1,
    "links": {
      "self": "https://felt.com/api/v2/sources/V0dnOMOuTd9B9BOsL9C0UjmqC"
    },
    "name": "text",
    "owner_id": "luCHyMruTQ6ozGk3gPJfEB",
    "permissions": {
      "type": "workspace_editors"
    },
    "sync_status": "syncing",
    "type": "source_reference",
    "updated_at": 1,
    "workspace_id": "luCHyMruTQ6ozGk3gPJfEB"
  }
]
get
Authorizations
Path parameters
source_idstringRequired

The ID of the source to show

Responses
200
Source
application/json
401
UnauthorizedError
application/json
403
UnauthorizedError
application/json
404
NotFoundError
application/json
422
Unprocessable Entity
application/json
429
Unprocessable Entity
application/json
500
InternalServerError
application/json
get
GET /api/v2/sources/{source_id} HTTP/1.1
Host: felt.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "automatic_sync": "enabled",
  "connection": {
    "account_id": "text",
    "database": "text",
    "role": "text",
    "schema": "text",
    "type": "snowflake",
    "user": "text",
    "warehouse": "text"
  },
  "created_at": 1,
  "datasets": [
    {
      "created_at": 1,
      "description": "text",
      "geometry_type": "polygon",
      "id": "luCHyMruTQ6ozGk3gPJfEB",
      "inspection_status": "completed",
      "name": "text",
      "type": "dataset",
      "updated_at": 1
    }
  ],
  "id": "luCHyMruTQ6ozGk3gPJfEB",
  "last_synced_at": 1,
  "name": "text",
  "owner_id": "luCHyMruTQ6ozGk3gPJfEB",
  "permissions": {
    "type": "workspace_editors"
  },
  "sync_status": "syncing",
  "type": "source",
  "updated_at": 1,
  "workspace_id": "luCHyMruTQ6ozGk3gPJfEB"
}
post
Authorizations
Path parameters
source_idstringRequired

The ID of the source to sync

Responses
202
Source reference
application/json
401
UnauthorizedError
application/json
403
UnauthorizedError
application/json
404
NotFoundError
application/json
422
Unprocessable Entity
application/json
429
Unprocessable Entity
application/json
500
InternalServerError
application/json
post
POST /api/v2/sources/{source_id}/sync HTTP/1.1
Host: felt.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "automatic_sync": "enabled",
  "connection_type": "bigquery",
  "created_at": 1,
  "id": "luCHyMruTQ6ozGk3gPJfEB",
  "last_synced_at": 1,
  "links": {
    "self": "https://felt.com/api/v2/sources/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "name": "text",
  "owner_id": "luCHyMruTQ6ozGk3gPJfEB",
  "permissions": {
    "type": "workspace_editors"
  },
  "sync_status": "syncing",
  "type": "source_reference",
  "updated_at": 1,
  "workspace_id": "luCHyMruTQ6ozGk3gPJfEB"
}
delete
Authorizations
Path parameters
source_idstringRequired

The ID of the source to delete

Responses
204
No Content
401
UnauthorizedError
application/json
403
UnauthorizedError
application/json
404
NotFoundError
application/json
422
Unprocessable Entity
application/json
429
Unprocessable Entity
application/json
500
InternalServerError
application/json
delete
DELETE /api/v2/sources/{source_id} HTTP/1.1
Host: felt.com
Authorization: YOUR_API_KEY
Accept: */*

No content

  • List Sources
  • GET/api/v2/sources
  • Show Source
  • GET/api/v2/sources/{source_id}
  • Add a layer from a Source
  • POST/api/v2/maps/{map_id}/add_source_layer
  • Create a Source
  • POST/api/v2/sources
  • Sync a Source
  • POST/api/v2/sources/{source_id}/sync
  • Update a Source
  • POST/api/v2/sources/{source_id}/update
  • Delete a Source
  • DELETE/api/v2/sources/{source_id}
post
Authorizations
Path parameters
map_idstringRequired
Body
one ofOptional
or
or
Responses
202
AddSourceLayerAccepted
application/json
401
UnauthorizedError
application/json
403
UnauthorizedError
application/json
404
NotFoundError
application/json
422
Unprocessable Entity
application/json
429
Unprocessable Entity
application/json
500
InternalServerError
application/json
post
POST /api/v2/maps/{map_id}/add_source_layer HTTP/1.1
Host: felt.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "dataset_id": "luCHyMruTQ6ozGk3gPJfEB",
  "from": "dataset"
}
{
  "links": {
    "layer_group": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC/layer_groups/KFFhKAbvS4anD3wxtwNEpD",
    "self": "https://felt.com/api/v2/maps/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "status": "accepted"
}
post
Authorizations
Body
connectionone ofRequired
or
or
or
or
or
or
or
or
or
or
namestringRequired
permissionsone ofOptional
or
or
Responses
202
Source reference
application/json
401
UnauthorizedError
application/json
403
UnauthorizedError
application/json
404
NotFoundError
application/json
422
Unprocessable Entity
application/json
429
Unprocessable Entity
application/json
500
InternalServerError
application/json
post
POST /api/v2/sources HTTP/1.1
Host: felt.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 211

{
  "connection": {
    "account_id": "text",
    "database": "text",
    "password": "text",
    "role": "text",
    "schema": "text",
    "type": "snowflake",
    "user": "text",
    "warehouse": "text"
  },
  "name": "text",
  "permissions": {
    "type": "workspace_editors"
  }
}
{
  "automatic_sync": "enabled",
  "connection_type": "bigquery",
  "created_at": 1,
  "id": "luCHyMruTQ6ozGk3gPJfEB",
  "last_synced_at": 1,
  "links": {
    "self": "https://felt.com/api/v2/sources/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "name": "text",
  "owner_id": "luCHyMruTQ6ozGk3gPJfEB",
  "permissions": {
    "type": "workspace_editors"
  },
  "sync_status": "syncing",
  "type": "source_reference",
  "updated_at": 1,
  "workspace_id": "luCHyMruTQ6ozGk3gPJfEB"
}
post
Authorizations
Path parameters
source_idstringRequired

The ID of the source to update

Body
connectionone ofOptional
or
or
or
or
or
or
or
or
or
or
namestringOptional
permissionsone ofOptional
or
or
Responses
202
Source reference
application/json
401
UnauthorizedError
application/json
403
UnauthorizedError
application/json
404
NotFoundError
application/json
422
Unprocessable Entity
application/json
429
Unprocessable Entity
application/json
500
InternalServerError
application/json
post
POST /api/v2/sources/{source_id}/update HTTP/1.1
Host: felt.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 211

{
  "connection": {
    "account_id": "text",
    "database": "text",
    "password": "text",
    "role": "text",
    "schema": "text",
    "type": "snowflake",
    "user": "text",
    "warehouse": "text"
  },
  "name": "text",
  "permissions": {
    "type": "workspace_editors"
  }
}
{
  "automatic_sync": "enabled",
  "connection_type": "bigquery",
  "created_at": 1,
  "id": "luCHyMruTQ6ozGk3gPJfEB",
  "last_synced_at": 1,
  "links": {
    "self": "https://felt.com/api/v2/sources/V0dnOMOuTd9B9BOsL9C0UjmqC"
  },
  "name": "text",
  "owner_id": "luCHyMruTQ6ozGk3gPJfEB",
  "permissions": {
    "type": "workspace_editors"
  },
  "sync_status": "syncing",
  "type": "source_reference",
  "updated_at": 1,
  "workspace_id": "luCHyMruTQ6ozGk3gPJfEB"
}