Lawfficient API

Introduction

The Lawfficient public REST API — push and read your firm's data programmatically.

The Lawfficient API is a REST API for integrating with your firm's data. Everything the app does is being made available programmatically — starting with leads and consultations.

Conventions

  • Base URL — every endpoint lives under /api on your Lawfficient app domain, e.g. https://app.lawfficient.com/api/leads.
  • HTTPS only — requests over plain HTTP are rejected.
  • JSON — request and response bodies are JSON; successful responses return the resource verbatim, errors use a single envelope.
  • Per-firm API keys — every request authenticates with a Bearer key that resolves your firm server-side. The firm is never taken from the request body.
  • Header versioning — the path stays stable; a dated Lawfficient-Version header selects the API version.

A first request

curl https://app.lawfficient.com/api/leads \
  -H "Authorization: Bearer $LAWFFICIENT_API_KEY"
Response
{
  "data": [
    {
      "id": "3f8c1e2a-1b2c-4d5e-8f90-abcdef012345",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "email": "ada@example.com",
      "phone": "+15551234567",
      "source": "web_form",
      "status": { "key": "new", "name": "New" },
      "assignee_id": null,
      "archived": false,
      "created_at": "2026-06-23T10:00:00.000Z",
      "last_activity_at": "2026-06-23T10:00:00.000Z",
      "data": {}
    }
  ],
  "next_cursor": null
}

What's here

  • Authentication — API keys and scopes.
  • Versioning — the Lawfficient-Version header.
  • Pagination — cursor-based list pagination.
  • Errors — the error envelope and status codes.
  • Rate limits — per-key limits.
  • Leads — list, fetch, create, update, and archive leads.
  • Consultations — list, fetch, book, reschedule, and cancel consultations.
  • Webhooks — signed outbound events when your data changes.

More resources are on the way — every capability we ship in the app gets a matching documented endpoint here, and changes push out via webhooks.

On this page