Filly API
A small REST API to read your forms and responses, and to receive submissions in real time via webhooks. JSON in, JSON out, served from the edge.
Authentication
Authenticate with a bearer token from your dashboard. Pass it in the
Authorization
header on every request.
curl https://api.filly.app/v1/forms \
-H "Authorization: Bearer fly_live_..." List responses
Returns a paginated list of responses for a form, newest first.
{
"data": [
{
"id": "resp_8fK2a",
"submitted_at": "2026-06-20T14:03:11Z",
"fields": {
"name": "Ada Lovelace",
"email": "ada@example.com"
}
}
],
"next_cursor": "c_19ax"
} Forms
Use the forms endpoints to list form metadata, inspect schema JSON, and connect API output to your own workspace tools.
Webhooks
Webhooks deliver new submissions to your endpoint. Manage endpoints from the dashboard and inspect delivery history per form.
HTTP MCP
Filly exposes a production HTTP MCP endpoint for clients that can call
remote Model Context Protocol servers. Create a JWT API key from
/app/api
and send it as a bearer token.
HTTP MCP uses JSON-RPC 2.0. Most MCP clients generate requests for you after reading the tool list.
{
"mcpServers": {
"filly": {
"type": "http",
"url": "https://filly.app/api/mcp",
"headers": {
"Authorization": "Bearer eyJ..."
}
}
}
} curl https://filly.app/api/mcp \
-H "Authorization: Bearer eyJ..." \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_forms",
"arguments": { "limit": 25 }
}
}' Rate limits
API requests are rate limited per token. Public form submissions have separate limits to keep forms available during spikes.
Errors
Errors return a stable JSON object with a code, message, and optional field details.