Efimis unifies matter, time, billing, ledger, client money, and firm money in one compliant, AI-enabled platform — with open APIs, embedded workflows, and seamless integrations.
# Create a matter against an existing client
curl "https://api.uk.efimis.com/acme/v1/matters" \
-X "POST" \
-H "Authorization: Bearer $EFIMIS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "clientId": "client_3f7b…", "title": "Smith v. Johnson" }' Pick the entry point that matches your integration. Each pathway maps to a focused subset of the platform.
Read or write entities, matters, work items, and invoices through our REST and GraphQL APIs.
Drop UI Components — billing widgets, ledger viewers, time entry — straight into your product.
Use the ETL pipeline to land an existing PMS or ledger into a staged Efimis tenant.
Expose Efimis to Claude, ChatGPT, and Cursor via our Model Context Protocol server.
Browse the core surfaces of the platform, from APIs and ETL through embedded UI, connectors, and MCP access.
Register an endpoint and subscribe to webhook events for matters, invoices, and more. Signed with HMAC-SHA256 on every payload.
await efimis.webhooks.create({
id: "webhook_acme_invoices",
url: "https://acme.io/efimis/receive",
secret: process.env.EFIMIS_WEBHOOK_SECRET,
enabled: true,
events: [
/* event types — see webhook documentation */
],
}); Tell us about your integration and receive a tenant alias plus client credentials.
Exchange your client_id + secret for a bearer token via OAuth 2.0 client credentials flow.
Hit GET /v1/matters to see the seeded test data, then create your own entities and matters.
Register an HTTPS receiver to be notified whenever matters, invoices, or postings change.