Filevine · AsyncAPI Specification

Filevine Webhook Events

Version 2.0

Filevine emits webhook events to subscribed callback URLs when activity occurs in the platform. Subscriptions are configured per organization and select from a curated event catalog. Each subscription has a unique signing key used to validate inbound deliveries.

View Spec View on GitHub LegalCase ManagementMattersIntakeDocumentsLOISWebhookLegal AIPersonal InjuryMass TortsAsyncAPIWebhooksEvents

Channels

ProjectCreated
ProjectUpdated
DocumentUploaded
NoteCreated
DeadlineCreated
TaskCompleted
PaymentCreated
PaymentUpdated

Messages

ProjectEvent
ProjectEvent
DocumentEvent
DocumentEvent
NoteEvent
NoteEvent
DeadlineEvent
DeadlineEvent
TaskEvent
TaskEvent
PaymentEvent
PaymentEvent

Servers

https
filevineUsGateway
Filevine US API Gateway.

AsyncAPI Specification

Raw ↑
asyncapi: 3.0.0
info:
  title: Filevine Webhook Events
  version: '2.0'
  description: >
    Filevine emits webhook events to subscribed callback URLs when activity
    occurs in the platform. Subscriptions are configured per organization
    and select from a curated event catalog. Each subscription has a unique
    signing key used to validate inbound deliveries.
  contact:
    name: Filevine Support
    url: https://support.filevine.com/hc/en-us/articles/13644331859611-Webhooks-Subscriptions

defaultContentType: application/json

servers:
  filevineUsGateway:
    host: api.filevine.io
    protocol: https
    description: Filevine US API Gateway.

channels:
  ProjectCreated:
    address: project.created
    messages:
      ProjectCreatedMessage:
        $ref: '#/components/messages/ProjectEvent'
  ProjectUpdated:
    address: project.updated
    messages:
      ProjectUpdatedMessage:
        $ref: '#/components/messages/ProjectEvent'
  DocumentUploaded:
    address: document.uploaded
    messages:
      DocumentUploadedMessage:
        $ref: '#/components/messages/DocumentEvent'
  NoteCreated:
    address: note.created
    messages:
      NoteCreatedMessage:
        $ref: '#/components/messages/NoteEvent'
  DeadlineCreated:
    address: deadline.created
    messages:
      DeadlineCreatedMessage:
        $ref: '#/components/messages/DeadlineEvent'
  TaskCompleted:
    address: task.completed
    messages:
      TaskCompletedMessage:
        $ref: '#/components/messages/TaskEvent'
  PaymentCreated:
    address: payment.created
    messages:
      PaymentCreatedMessage:
        $ref: '#/components/messages/PaymentEvent'
  PaymentUpdated:
    address: payment.updated
    messages:
      PaymentUpdatedMessage:
        $ref: '#/components/messages/PaymentEvent'

operations:
  receiveProjectCreated:
    action: receive
    channel: { $ref: '#/channels/ProjectCreated' }
  receiveProjectUpdated:
    action: receive
    channel: { $ref: '#/channels/ProjectUpdated' }
  receiveDocumentUploaded:
    action: receive
    channel: { $ref: '#/channels/DocumentUploaded' }
  receiveNoteCreated:
    action: receive
    channel: { $ref: '#/channels/NoteCreated' }
  receiveDeadlineCreated:
    action: receive
    channel: { $ref: '#/channels/DeadlineCreated' }
  receiveTaskCompleted:
    action: receive
    channel: { $ref: '#/channels/TaskCompleted' }
  receivePaymentCreated:
    action: receive
    channel: { $ref: '#/channels/PaymentCreated' }
  receivePaymentUpdated:
    action: receive
    channel: { $ref: '#/channels/PaymentUpdated' }

components:
  messages:
    ProjectEvent:
      name: ProjectEvent
      payload: { $ref: '#/components/schemas/ProjectEventPayload' }
    DocumentEvent:
      name: DocumentEvent
      payload: { $ref: '#/components/schemas/DocumentEventPayload' }
    NoteEvent:
      name: NoteEvent
      payload: { $ref: '#/components/schemas/NoteEventPayload' }
    DeadlineEvent:
      name: DeadlineEvent
      payload: { $ref: '#/components/schemas/DeadlineEventPayload' }
    TaskEvent:
      name: TaskEvent
      payload: { $ref: '#/components/schemas/TaskEventPayload' }
    PaymentEvent:
      name: PaymentEvent
      payload: { $ref: '#/components/schemas/PaymentEventPayload' }
  schemas:
    EventEnvelope:
      type: object
      required: [eventId, eventType, occurredAt, orgId]
      properties:
        eventId: { type: string }
        eventType: { type: string }
        occurredAt: { type: string, format: date-time }
        orgId: { type: integer }
        signingKeyId: { type: string }
    ProjectEventPayload:
      allOf:
        - $ref: '#/components/schemas/EventEnvelope'
        - type: object
          properties:
            data:
              type: object
              properties:
                projectId: { type: integer }
                projectName: { type: string }
                projectTypeId: { type: integer }
                phaseName: { type: string }
    DocumentEventPayload:
      allOf:
        - $ref: '#/components/schemas/EventEnvelope'
        - type: object
          properties:
            data:
              type: object
              properties:
                documentId: { type: integer }
                projectId: { type: integer }
                filename: { type: string }
                size: { type: integer }
    NoteEventPayload:
      allOf:
        - $ref: '#/components/schemas/EventEnvelope'
        - type: object
          properties:
            data:
              type: object
              properties:
                noteId: { type: integer }
                projectId: { type: integer }
                kind: { type: string }
    DeadlineEventPayload:
      allOf:
        - $ref: '#/components/schemas/EventEnvelope'
        - type: object
          properties:
            data:
              type: object
              properties:
                deadlineId: { type: integer }
                projectId: { type: integer }
                dueDate: { type: string, format: date-time }
    TaskEventPayload:
      allOf:
        - $ref: '#/components/schemas/EventEnvelope'
        - type: object
          properties:
            data:
              type: object
              properties:
                taskId: { type: integer }
                projectId: { type: integer }
                status: { type: string }
    PaymentEventPayload:
      allOf:
        - $ref: '#/components/schemas/EventEnvelope'
        - type: object
          properties:
            data:
              type: object
              properties:
                paymentId: { type: integer }
                projectId: { type: integer }
                amount: { type: number }
                currency: { type: string }
                voided: { type: boolean }

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/filevine-events-asyncapi"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.