Skip to main content

Developers

Frihet exposes a full REST API and a webhook system so you can integrate your ERP with any tool. Automate workflows, sync data with your existing systems, or build custom integrations. See all Frihet features and available integrations.

Core resources

REST API

RESTful API with API key authentication. Access invoices, expenses, clients, products, and quotes programmatically.

  • Full CRUD endpoints for 5 resources
  • Pagination, filtering, and sorting
  • 100 requests/minute limit per key
  • Standardized JSON responses

Webhooks

Receive real-time notifications when events occur in your Frihet account. 14 event types with HMAC-SHA256 signatures to verify the authenticity of every payload.

  • 14 event types (invoices, expenses, quotes, clients, products)
  • Cryptographic signature on every delivery
  • Automatic retries with exponential backoff
  • Delivery logs accessible from the dashboard

Integration tier model

Frihet organizes its 100+ integrations into three levels based on connection depth:

TierNameDescription
Tier 1Full SyncComplete bidirectional sync via dedicated services (import + webhooks + reconciliation).
Tier 2Credentials Only / BetaCredentials stored securely. Full automatic sync on the roadmap.
Tier 3Webhook URLGenerates a webhook URL to connect with your automations. No bidirectional sync.

The tier badge for each integration is visible on the connection screen inside the app.


Supported integrations

Frihet connects natively with 100+ tools. Each integration can be extended with the REST API and webhooks to cover advanced use cases. See all available integrations on the website.

Tier 1 — Full Sync (41 integrations)

Complete bidirectional sync. Production-ready.

CategoryServices
PaymentsPayPal, GoCardless, Stripe Revenue, Stripe Connect
BankingMercury, Pleo, Wise, Qonto
E-commerceShopify, WooCommerce, Gumroad, Lemon Squeezy, Etsy, Square, Squarespace, PrestaShop
AccountingXero, QuickBooks Online, FreshBooks, Wave Accounting, Zoho Books, Sage Business Cloud, Holded, Lexoffice
Time trackingToggl, Clockify, Harvest
ProductivityAsana, Trello, Notion
CalendarGoogle Calendar, Outlook Calendar
StorageGoogle Drive, Google Sheets, Dropbox
CommunicationSlack
CRMHubSpot, Pipedrive, Intercom
eSignPandaDoc, DocuSign, HelloSign
ExpensesExpensify
EmailMailchimp

Tier 2 — Credentials Only / Beta (56 integrations)

Credentials connected and configuration ready. Full sync on the roadmap.

CategoryServices
E-commerceeBay, TikTok Shop, Printful, BigCommerce, Magento/Adobe Commerce
CRMSalesforce, Zoho CRM, Freshsales, Close CRM, Copper CRM
LogisticsSendcloud, ShipStation, Correos Spain, SEUR, DHL Express, FedEx, UPS, Shippo
HRFactorial, Personio, BambooHR, Gusto, PayFit
MarketingBrevo, ConvertKit, ActiveCampaign, Lemlist, Beehiiv, Meta Marketing API, Google Ads API
POSSumUp POS, SumUp Payments, SumUp Invoices, Lightspeed Restaurant, Lightspeed X-Series
CommunicationDiscord Webhooks, Microsoft Teams Webhooks, Telegram Bot API
FreelanceUpwork
PaymentsAdyen, Checkout.com, Braintree, Mollie, Bunq, Brex, Monzo Business, N26 Business, Starling Bank
Open BankingTink, OpenBanking, PayPal Sandbox, Plaid, Revolut
BankingN26
MessagingWhatsApp
MarketplacesAmazon Seller
AccountingBexio

Tier 3 — Webhook URL (3 integrations)

Connect via custom webhook to your automation flows.

ServiceDescription
n8nCustom automation flows via webhook
ZapierConnect 6,000+ apps without code via webhooks
MakeVisual automation with hundreds of apps via webhooks

MCP Server

Official MCP server published on npm as @frihet/mcp-server (v1.5.1), registered as io.frihet/erp in the MCP Registry. Connect your AI assistant (Claude, Cursor, Windsurf, Cline) directly to your ERP.

  • 52 tools, 11 resources, 10 prompts (invoices, expenses, clients, products, quotes, vendors, webhooks)
  • Local transport (stdio) and remote (mcp.frihet.io)
  • Open source (MIT) on GitHub
  • Automatic rate-limit retry with exponential backoff

Claude Code Skill

Official skill that adds business intelligence on top of the MCP server. Conversational commands, workflow recipes, and formatted financial reports.

  • Commands: /frihet invoice, /frihet expense, /frihet report, /frihet clients
  • Natural language workflows for monthly close, tax prep, and overdue follow-up
  • Install: npx skills add Frihet-io/frihet-mcp

Security

Security is a priority throughout Frihet's integration layer.

  • AES-256-GCM encryption for sensitive stored data (integration tokens, webhook secrets)
  • HMAC-SHA256 on every webhook delivery to verify payload authenticity
  • SHA-256 hashing of API keys on the server — the plaintext key is shown only once at creation
  • Rate limiting of 100 requests per minute per API key
  • URL validation on webhooks: only HTTPS endpoints are allowed (except localhost in development)
  • Private IP blocking to prevent SSRF attacks on webhook URLs
  • Configurable key expiration — create keys with an expiry date

SDKs and CLI

Official SDKs to integrate Frihet into your stack:

PackageInstallDescription
@frihet/sdknpm i @frihet/sdkTypeScript SDK — frihet.invoices.create(), full types, auto-retry
frihetnpm i -g frihetCLI — frihet invoices list --status overdue
PythonComing soonIn development
import Frihet from '@frihet/sdk';

const frihet = new Frihet({ apiKey: 'fri_...' });
const invoice = await frihet.invoices.create({
clientName: 'Acme Corp',
items: [{ description: 'Consulting', quantity: 10, unitPrice: 150 }],
});

Repository: github.com/Frihet-io/frihet-sdk


Limits and quotas

ResourceLimit
API requests100/minute per key
Request body size1 MB maximum
Webhook payload size100 KB maximum
Webhooks per account20 maximum
Webhook retries3 attempts per delivery
Results per page100 maximum (50 default)

Getting started

  1. Go to Settings > API in your Frihet account
  2. Create a new API key and copy it (shown only once)
  3. Test the connection with a GET request to /api/v1/clients
  4. Configure webhooks to receive events in real time
curl -s https://api.frihet.io/v1/clients \
-H "X-API-Key: fri_your-key-here" | head -c 200

If the response includes your clients, the integration is working. See the REST API reference for all available endpoints.