Filevine Projects API

List, create, read, and update Filevine projects (matters/cases). Each project belongs to a project type, carries a primary client contact, has a phase, and a customizable set of sections and fields. The Projects API is the spine of Filevine integrations and is the parent surface for documents, notes, deadlines, tasks, and time entries.

OpenAPI Specification

filevine-projects-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Filevine Contacts Projects API
  description: 'Contact cards represent people and organizations associated with a project — clients, opposing parties, witnesses, adjusters, experts, and third parties. The Contacts API exposes the global contact list as well as project-scoped contact attachments and roles.

    '
  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: Projects
  description: Filevine projects (matters/cases).
paths:
  /core/projects:
    get:
      summary: Filevine List Projects
      description: List projects accessible to the authenticated user with filters for project type, client, phase, and modification timestamps.
      operationId: listProjects
      tags:
      - Projects
      parameters:
      - name: offset
        in: query
        schema:
          type: integer
          default: 0
      - name: limit
        in: query
        schema:
          type: integer
          default: 50
          maximum: 1000
      - name: projectTypeId
        in: query
        schema:
          type: integer
      - name: phaseName
        in: query
        schema:
          type: string
      - name: modifiedSince
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: A page of projects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectList'
    post:
      summary: Filevine Create Project
      description: Create a new project of a given project type with an associated client contact.
      operationId: createProject
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '201':
          description: Project created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
  /core/projects/{projectId}:
    parameters:
    - $ref: '#/components/parameters/ProjectId'
    get:
      summary: Filevine Get Project
      description: Retrieve a single project by ID.
      operationId: getProject
      tags:
      - Projects
      responses:
        '200':
          description: Project found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
    patch:
      summary: Filevine Update Project
      description: Patch project fields such as name, phase, client, or any custom section values.
      operationId: updateProject
      tags:
      - Projects
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProjectRequest'
      responses:
        '200':
          description: Updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
components:
  parameters:
    ProjectId:
      name: projectId
      in: path
      required: true
      schema:
        type: integer
        format: int64
  schemas:
    CreateProjectRequest:
      type: object
      required:
      - projectTypeId
      - projectName
      - clientId
      properties:
        projectTypeId:
          type: integer
        projectName:
          type: string
        clientId:
          type: integer
          format: int64
        phaseName:
          type: string
    Project:
      type: object
      properties:
        projectId:
          type: integer
          format: int64
        projectName:
          type: string
        number:
          type: string
        projectTypeId:
          type: integer
        clientId:
          type: integer
          format: int64
        phaseName:
          type: string
        isArchived:
          type: boolean
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
    ProjectList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Project'
        hasMore:
          type: boolean
        totalCount:
          type: integer
    UpdateProjectRequest:
      type: object
      properties:
        projectName:
          type: string
        phaseName:
          type: string
        isArchived:
          type: boolean
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT