Lawfficient API
Attorneys

Attorneys

The attorney object and the endpoint that lists your firm's bookable attorneys.

An attorney is a schedulable, active member of your firm — the staff who take consultations. This is the one place the API exposes them: use it to turn an attorney's display name into the id you pass as attorney_id when you book a consultation.

Only schedulable, active staff are listed — the same set the app offers when booking, and the same set booking will accept. A staff member who isn't marked schedulable (or whose account is disabled) won't appear here and can't be booked.

"Attorney" is a loose label here: the listing filters on schedulable, not on job title, and a firm can mark any staff member schedulable (a senior legal assistant who takes intake consults, for example). Each row carries role so you can tell an actual attorney apart from other schedulable staff — filter client-side on it if you only want licensed attorneys.

Being schedulable is only an admin toggle, though. An attorney with no office hours set up has no bookable time — booking one always fails with outside_office_hours. Each attorney therefore carries has_office_hours, and ?has_office_hours=true narrows the listing to the genuinely bookable subset.

Endpoints

MethodPathScopeDescription
GET/api/attorneysconsultations:readList the firm's schedulable attorneys

The attorney object

{
  "id": "a1b2c3d4-0000-4000-8000-000000000000",
  "name": "Ayesha Okafor",
  "email": "ayesha@chidoluelaw.com",
  "role": "attorney",
  "schedulable": true,
  "has_office_hours": true
}
FieldTypeNotes
idstringStaff UUID, stable. Pass as attorney_id when booking.
namestringThe staff member's display name.
emailstringThe staff member's email.
rolestringStaff role — one of admin, attorney, la_lead, legal_assistant, qa_lead, creative_writer, sales, accounts_receivable, file_clerk. The listing isn't filtered by role, so use this to tell an actual attorney from other schedulable staff.
schedulablebooleanAlways true here — only schedulable staff are returned.
has_office_hoursbooleanWhether the attorney has recurring office hours configured. false means booking will fail with outside_office_hours until hours are set. Filter with ?has_office_hours=true.

On this page