Filevine Tasks API

List, create, and update assignable to-do items on a project with status, priority, due dates, and completion tracking. Tasks are produced by workflow automation and by direct user assignment.

Filevine Tasks 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, Tasks, and Workflow. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

filevine-tasks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Filevine Tasks API
  description: >
    The Tasks API manages assignable work items on a Filevine project — to-do
    items routed to staff, with due dates, statuses, priority, and task
    chains generated by workflow automation. Tasks are distinct from notes
    and deadlines and have their own assignment and completion lifecycle.
  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: Tasks
    description: Project tasks.

paths:
  /core/projects/{projectId}/tasks:
    parameters:
      - name: projectId
        in: path
        required: true
        schema: { type: integer, format: int64 }
    get:
      summary: Filevine List Project Tasks
      description: List tasks on a project filtered by assignee, status, and due date.
      operationId: listProjectTasks
      tags: [Tasks]
      parameters:
        - name: assigneeId
          in: query
          schema: { type: integer, format: int64 }
        - name: status
          in: query
          schema:
            type: string
            enum: [open, inProgress, completed, cancelled]
      responses:
        '200':
          description: Task list.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/TaskList' }
    post:
      summary: Filevine Create Task
      description: Create a task on a project and assign it to a user.
      operationId: createTask
      tags: [Tasks]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/CreateTaskRequest' }
      responses:
        '201':
          description: Task created.
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Task' }
  /core/tasks/{taskId}:
    parameters:
      - name: taskId
        in: path
        required: true
        schema: { type: integer, format: int64 }
    patch:
      summary: Filevine Update Task
      description: Update a task status, due date, assignee, or priority.
      operationId: updateTask
      tags: [Tasks]
      requestBody:
        required: true
        content:
          application/json:
            schema: { $ref: '#/components/schemas/UpdateTaskRequest' }
      responses:
        '200':
          description: Task updated.

components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    Task:
      type: object
      properties:
        taskId: { type: integer, format: int64 }
        projectId: { type: integer, format: int64 }
        title: { type: string }
        body: { type: string }
        status:
          type: string
          enum: [open, inProgress, completed, cancelled]
        priority:
          type: string
          enum: [low, normal, high, urgent]
        dueDate: { type: string, format: date-time }
        assigneeId: { type: integer, format: int64 }
        completedDate: { type: string, format: date-time }
    TaskList:
      type: object
      properties:
        items:
          type: array
          items: { $ref: '#/components/schemas/Task' }
        hasMore: { type: boolean }
    CreateTaskRequest:
      type: object
      required: [title, assigneeId]
      properties:
        title: { type: string }
        body: { type: string }
        assigneeId: { type: integer, format: int64 }
        dueDate: { type: string, format: date-time }
        priority:
          type: string
          enum: [low, normal, high, urgent]
    UpdateTaskRequest:
      type: object
      properties:
        status:
          type: string
          enum: [open, inProgress, completed, cancelled]
        priority:
          type: string
          enum: [low, normal, high, urgent]
        dueDate: { type: string, format: date-time }
        assigneeId: { type: integer, format: int64 }