Filevine Notes API

Append, edit, and read project notes and activity items. Notes carry a typed kind (note, task, portal message, phone call, text) and support @mentions, pinning, and attached documents.

Filevine Notes API is one of 9 APIs that Filevine publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Legal, Notes, and Activity. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

filevine-notes-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Filevine Notes API
  description: >
    Notes (Activities) capture the running narrative on a Filevine project —
    typed memos, phone-call logs, portal messages, mentions, and internal
    comments. The Notes API lets external systems append notes, edit notes,
    pin/unpin notes, and read the project activity stream.
  version: '2.0'
  contact:
    name: Filevine API Support
    url: https://developer.filevine.io/
  license:
    name: Filevine Terms of Service
    url: https://www.filevine.com/terms-of-service/

servers:
  - url: https://api.filevine.io
    description: Filevine API Gateway (US)
  - url: https://api.filevineapp.ca
    description: Filevine API Gateway (Canada)

security:
  - BearerAuth: []

tags:
  - name: Notes
    description: Project notes and activity items.

paths:
  /core/projects/{projectId}/notes:
    parameters:
      - name: projectId
        in: path
        required: true
        schema: { type: integer, format: int64 }
    get:
      summary: Filevine List Project Notes
      description: Read the project's note/activity stream with optional pagination and date filtering.
      operationId: listProjectNotes
      tags: [Notes]
      parameters:
        - name: offset
          in: query
          schema: { type: integer }
        - name: limit
          in: query
          schema: { type: integer, default: 50 }
        - name: since
          in: query
          schema: { type: string, format: date-time }
      responses:
        '200':
          description: A page of notes.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/NoteList' }
    post:
      summary: Filevine Create Note
      description: Create a new note on a project. Note bodies support mentions, attached documents, and a typed kind (note, task, portal message, phone call, text).
      operationId: createNote
      tags: [Notes]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/CreateNoteRequest' }
      responses:
        '201':
          description: Note created.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Note' }
  /core/notes/{noteId}:
    parameters:
      - name: noteId
        in: path
        required: true
        schema: { type: integer, format: int64 }
    patch:
      summary: Filevine Update Note
      description: Edit the body or pinned state of an existing note.
      operationId: updateNote
      tags: [Notes]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/UpdateNoteRequest' }
      responses:
        '200':
          description: Updated.

components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    Note:
      type: object
      properties:
        noteId: { type: integer, format: int64 }
        projectId: { type: integer, format: int64 }
        body: { type: string }
        kind:
          type: string
          enum: [note, task, portalMessage, phoneCall, text]
        pinned: { type: boolean }
        authorId: { type: integer, format: int64 }
        mentions:
          type: array
          items: { type: integer, format: int64 }
        attachedDocuments:
          type: array
          items: { type: integer, format: int64 }
        createdDate: { type: string, format: date-time }
        modifiedDate: { type: string, format: date-time }
    NoteList:
      type: object
      properties:
        items:
          type: array
          items: { $ref: '#/components/schemas/Note' }
        hasMore: { type: boolean }
    CreateNoteRequest:
      type: object
      required: [body]
      properties:
        body: { type: string }
        kind:
          type: string
          enum: [note, task, portalMessage, phoneCall, text]
          default: note
        pinned: { type: boolean }
        attachedDocuments:
          type: array
          items: { type: integer, format: int64 }
    UpdateNoteRequest:
      type: object
      properties:
        body: { type: string }
        pinned: { type: boolean }