Skip to main content
REST API · v1

Build on Fylix.

Programmatic access to every part of the platform. OAuth 2.0, REST + JSON, webhooks, and SDKs in TypeScript, Python, and Go.

quick-start.shbash
# Fetch tax return summary
curl -X GET https://api.fylix.co.uk/v1/tax-returns/2025 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

# Response
{
  "id": "tr_abc123",
  "tax_year": "2024-25",
  "status": "submitted",
  "total_income": 75000.00,
  "total_expenses": 12500.00,
  "tax_liability": 15750.00,
  "submitted_at": "2026-01-31T23:59:00Z"
}

API at a glance

Everything modern integrations need.

OAuth 2.0

Authentication you trust

Access + refresh tokens for long-lived integrations. Per-tenant scoping built in.

Rate limits

Fair, per-key quotas

1,000 req/hour on Pro; enterprise plans available for higher limits.

Webhooks

Real-time events

Filing status, submission confirmations, and per-row events delivered in under 1s.

Base URL

endpoint
https://api.fylix.co.uk/v1

All API requests go to this base URL with the appropriate endpoint path.

Authentication

header
Authorization: Bearer YOUR_API_KEY

Include your API key in the Authorization header for every request.

Endpoints

Coverage across every surface.

Each resource ships with paginated list, single-fetch, write, and delete endpoints — typed in OpenAPI 3.1.

Tax returns

Create, update, and submit self-assessment tax returns programmatically.

GETPOSTPUTDELETE

Transactions

Import, categorise, and manage income and expense transactions.

GETPOSTPUTDELETE

Properties

Manage rental properties and associated income records.

GETPOSTPUTDELETE

Clients

Client management endpoints for accountancy practices.

GETPOSTPUTDELETE

Reports

Generate tax reports, analytics, and export financial data.

GETPOST

Webhooks

React to filing events in real time.

app/api/fylix-webhook/route.tstypescript
// Verify and parse a webhook payload
import { verify } from "@fylix/webhooks"

export async function POST(req: Request) {
  const sig = req.headers.get("x-fylix-signature")
  const raw = await req.text()
  const event = verify(raw, sig, process.env.FYLIX_WEBHOOK_SECRET!)

  switch (event.type) {
    case "tax_return.submitted":
      // notify your system
      break
    case "transaction.categorised":
      // refresh your dashboards
      break
  }
  return new Response("ok")
}

Rate limits

  • Free: 100 requests/hour
  • Professional: 1,000 requests/hour
  • Enterprise: 10,000+ requests/hour

Rate limits are applied per API key. Contact us for custom limits.

Full reference

This is a high-level overview. For complete schemas, error codes, and advanced features, visit the developer portal.

Ready to start building?

Get your API key today and ship your integration this week.