Skip to main content
Use Felt through Corsair: one client, typed API calls. Felt authenticates via Personal Access Tokens provided as a Bearer token in the Authorization: Bearer <token> HTTP header. Generate a token in your Felt user account settings under Integrations & API (felt.com/settings). Provide this token as the key option when initializing the plugin or through Corsair’s key manager. Calls without a token throw AuthMissingError('felt', 'api_key'). Key concepts in Felt v2 API:
  • Maps: Maps are the central container in Felt. Every layer, element, comment, and print layout belongs to a map.
  • Layers & Sources: Layers visualize spatial vector or raster data from URLs, files, or database sources.
  • Elements: Freestanding annotations, pins, and GeoJSON features drawn directly on the map canvas.
  • Layer Components: Reusable legends, filters, and UI controls bound to map layers.
  • Rate Limits: Felt enforces a rate limit of 300 requests per minute per IP. When a rate limit is exceeded, Felt returns HTTP 429 with standard Retry-After. The plugin transport handles retries automatically.
  • Privacy: Sensitive database connection credentials provided when creating or updating data sources are strictly redacted from errors and event logs.
What you get:
  • 69 typed API operations

Setup

1

Install

2

Add the plugin

corsair.ts
With multiTenancy: true, scope calls with corsair.withTenant(id). See Quick start for KEK + Hub keys, and Multi-tenancy for account isolation.
3

Choose authentication

4

Connect a tenant

Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see Connect / OAuth.

Example API calls

Get the authenticated Felt user profile
Create a new map
See the full list on the API page.

What’s next

API reference

Every felt.api.* operation with input and output types.

Connect / OAuth

createLink, Hub delivery, and tenant connect flows.

Use with agents

Expose this plugin’s operations as MCP tools.