The financial core for modern law firms.
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 for an active client in a valid division
curl "https://api.${EFIMIS_REGION}.efimis.com/${EFIMIS_TENANT}/api/v1/matters" \
-X "POST" \
-H "Authorization: Bearer $EFIMIS_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "clientId": "client_3f7b…", "divisionId": "division_3f7b…", "title": "Smith v. Johnson" }'What are you building?
Pick the entry point that matches your integration. Each pathway maps to a focused subset of the platform.
Push & pull data
Read or write entities, matters, work items, and invoices through our REST and GraphQL APIs.
Explore components
Discover components we plan to build and maintain for cloud-based workflow systems.
Migrate data in
Use the ETL pipeline to land an existing PMS or ledger into a staged Efimis tenant.
Connect AI agents
Expose Efimis to Claude, ChatGPT, and Cursor via our Model Context Protocol server.
One connected platform, seven ways in.
Browse every entry point to the platform, from APIs and ETL through embedded UI, connectors, and MCP access.
REST
Transactional reads and writes
Webhooks
Signed event notifications
GraphQL
Analytical queries and reporting
UI Components
Planned workflow components with source code
ETL
Bulk import via SQL schema
Connectors
Open-source reference integrations
MCP
Model Context Protocol
Subscribe once. React to everything.
Register an endpoint and subscribe to webhook events for matters, invoices, and more. Signed with HMAC-SHA256 on every payload.
- HMAC signature on every payload
- Up to 5 subscriptions per tenant
- Multiple event types per subscription
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 */
],
});Get started in 4 steps.
Request sandbox access
Tell us about your integration and receive a tenant alias plus client credentials.
Authenticate
Exchange your client_id + secret for a bearer token via OAuth 2.0 client credentials flow.
Make your first call
Hit GET /api/v1/matters to see the seeded test data, then create your own entities and matters.
Subscribe to webhooks
Register an HTTPS receiver to be notified whenever matters, invoices, or postings change.