Notifications API

Retrieve and manage in-app notifications for your firm. Notifications are generated automatically when clients upload documents, complete intake, or when deadlines approach.

GET/api/v1/notifications

Retrieve all notifications for the authenticated firm user, with unread count.

Query Parameters

ParameterTypeDescription
readbooleanFilter by read status (true = read only, false = unread only)
typestringFilter by notification type
limitnumberMax results (default: 50)

Notification Types

TypeTrigger
document_uploadedClient uploads one or more documents
intake_completedClient completes their intake form
document_rejectedAttorney rejects a document with a reason
deadline_approachingA court deadline is within 7 days
intake_link_expiredA client's intake link has expired (90 days)
reminder_sentSystem sent an automated reminder to a client
Response
{
  "data": [
    {
      "id": "notif_01HXYZ",
      "type": "document_uploaded",
      "read": false,
      "matter_id": "mat_01HABC",
      "matter_title": "Johnson v. Smith",
      "message": "Alice Johnson uploaded 3 new documents",
      "metadata": {
        "document_ids": ["doc_01H1", "doc_01H2", "doc_01H3"],
        "client_name": "Alice Johnson"
      },
      "created_at": "2025-03-28T14:30:00.000Z"
    },
    {
      "id": "notif_01HDEF",
      "type": "intake_completed",
      "read": true,
      "matter_id": "mat_01HGHI",
      "matter_title": "Smith Family",
      "message": "Bob Smith completed their intake form",
      "metadata": {
        "client_name": "Bob Smith",
        "completion_pct": 100
      },
      "created_at": "2025-03-27T09:15:00.000Z"
    }
  ],
  "unread_count": 4
}
GET/api/v1/notifications/recent

Returns the most recent notifications (default: 10) for the notification bell UI. Optimized for low-latency polling from the dashboard header.

ParameterTypeDescription
limitnumberNumber of notifications to return (default: 10, max: 25)
Response
{
  "data": [
    {
      "id": "notif_01HXYZ",
      "type": "document_uploaded",
      "read": false,
      "matter_id": "mat_01HABC",
      "matter_title": "Johnson v. Smith",
      "message": "Alice Johnson uploaded 3 new documents",
      "created_at": "2025-03-28T14:30:00.000Z"
    }
  ],
  "unread_count": 4
}
PATCH/api/v1/notifications

Mark notifications as read. Pass a list of IDs or use all: true to mark all as read.

FieldTypeDescription
idsstring[]Array of notification IDs to mark as read
allbooleanSet true to mark all notifications as read