Sources

APIs to connect your data

Sources connect your databases to Felt.

With these APIs, you can configure data source connections, credentials, and sync settings to create live maps.

Update source

post

Update data source connection settings, access permissions, or configuration details.

Connecting the Source and inspecting its 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.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
source_idstringRequired

The ID of the source to update

Body
connectionone ofOptional
or
or
or
or
or
or
or
or
or
or
or
or
namestringOptional
permissionsone ofOptional
or
or
Responses
post
/api/v2/sources/{source_id}/update
POST /api/v2/sources/{source_id}/update HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 119

{
  "connection": {
    "blob_storage_url": "text",
    "type": "abs_bucket"
  },
  "name": "text",
  "permissions": {
    "type": "workspace_editors"
  }
}
{
  "automatic_sync": "enabled",
  "connection_type": "abs_bucket",
  "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"
}

List sources

get

Retrieve all data sources accessible to the authenticated user within the workspace.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
workspace_idstringOptional

Only needed when using the API as part of a plugin

Responses
200

Source references

application/json
get
/api/v2/sources
GET /api/v2/sources HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
  {
    "automatic_sync": "enabled",
    "connection_type": "abs_bucket",
    "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"
  }
]

Create source

post

Create a new data source connection with authentication credentials and access permissions.

Connecting the Source and inspecting its 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.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
connectionone ofRequired
or
or
or
or
or
or
or
or
or
or
or
or
namestringRequired
permissionsone ofOptional
or
or
Responses
post
/api/v2/sources
POST /api/v2/sources HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 269

{
  "connection": {
    "blob_storage_url": "text",
    "credentials": [
      {
        "credential": {
          "connection_string": "text",
          "type": "azure_storage_connection_string"
        },
        "name": "text",
        "use_case": "source_authentication"
      }
    ],
    "type": "abs_bucket"
  },
  "name": "text",
  "permissions": {
    "type": "workspace_editors"
  }
}
{
  "automatic_sync": "enabled",
  "connection_type": "abs_bucket",
  "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"
}

Sync source

post

Trigger a full data synchronization from the source to update all connected layers with latest data.

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.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
source_idstringRequired

The ID of the source to sync

Responses
post
/api/v2/sources/{source_id}/sync
POST /api/v2/sources/{source_id}/sync HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "automatic_sync": "enabled",
  "connection_type": "abs_bucket",
  "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 source

get

Retrieve detailed configuration and connection information for a specific data source.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
source_idstringRequired

The ID of the source to show

Responses
200

Source

application/json
get
/api/v2/sources/{source_id}
GET /api/v2/sources/{source_id} HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "automatic_sync": "enabled",
  "connection": {
    "blob_storage_url": "text",
    "credentials": [
      {
        "created_at": 1,
        "credential": {
          "connection_string": "text",
          "type": "azure_storage_connection_string"
        },
        "id": "luCHyMruTQ6ozGk3gPJfEB",
        "name": "text",
        "source_id": "luCHyMruTQ6ozGk3gPJfEB",
        "updated_at": 1,
        "use_case": "source_authentication"
      }
    ],
    "type": "abs_bucket"
  },
  "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"
}

Delete source

delete

Permanently delete a data source connection and all its associated layers and data.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
source_idstringRequired

The ID of the source to delete

Responses
delete
/api/v2/sources/{source_id}
DELETE /api/v2/sources/{source_id} HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Create source credential

post

Add authentication credentials to an existing data source for secure access.

Some sources may need to be configured with additional credentials to work with Felt. Access to S3 Buckets, for example, may be protected by IAM policies. Adding a SourceCredential-AwsAssumeRole credential to your S3 Bucket source allows Felt to connect to a private source.

Sensitive fields in credentials, like SourceCredential-KeyPair.private_key, will be returned as felt:redacted.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
source_idstringRequired

The ID of the source to attach the credential

Body
credentialone ofRequired
or
or
or
or
or
namestringRequired
use_casestring · enumRequiredPossible values:
Responses
post
/api/v2/sources/{source_id}/credentials
POST /api/v2/sources/{source_id}/credentials HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 137

{
  "credential": {
    "role_arn": "text",
    "role_session_name": "text",
    "type": "aws_assume_role"
  },
  "name": "text",
  "use_case": "stac_api_authentication"
}
{
  "created_at": 1,
  "credential": {
    "role_arn": "text",
    "role_session_name": "text",
    "type": "aws_assume_role"
  },
  "id": "luCHyMruTQ6ozGk3gPJfEB",
  "name": "text",
  "source_id": "luCHyMruTQ6ozGk3gPJfEB",
  "updated_at": 1,
  "use_case": "stac_api_authentication"
}

Update source credential

post

Update existing authentication credentials for a data source connection.

Sensitive fields in credentials, like SourceCredential-KeyPair.private_key, will be returned as felt:redacted.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
source_idstringRequired

The ID of the source that the credential belongs to

credential_idstringRequired

The ID of the credential

Body
credentialone ofOptional
or
or
or
or
or
namestringOptional
use_casestring · enumOptionalPossible values:
Responses
post
/api/v2/sources/{source_id}/credentials/{credential_id}/update
POST /api/v2/sources/{source_id}/credentials/{credential_id}/update HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 137

{
  "credential": {
    "role_arn": "text",
    "role_session_name": "text",
    "type": "aws_assume_role"
  },
  "name": "text",
  "use_case": "stac_api_authentication"
}
{
  "created_at": 1,
  "credential": {
    "role_arn": "text",
    "role_session_name": "text",
    "type": "aws_assume_role"
  },
  "id": "luCHyMruTQ6ozGk3gPJfEB",
  "name": "text",
  "source_id": "luCHyMruTQ6ozGk3gPJfEB",
  "updated_at": 1,
  "use_case": "stac_api_authentication"
}

Delete source credential

delete

Remove authentication credentials from a data source connection.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
source_idstringRequired

The ID of the source that the credential belongs to

credential_idstringRequired

The ID of the credential to delete

Responses
delete
/api/v2/sources/{source_id}/credentials/{credential_id}
DELETE /api/v2/sources/{source_id}/credentials/{credential_id} HTTP/1.1
Host: felt.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Last updated

Was this helpful?