Filevine Documents API

Upload, list, and read documents attached to Filevine projects. Documents support folders, tags, versioning, locking, and optional sharing to the secure client portal.

OpenAPI Specification

filevine-documents-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Filevine Contacts Documents 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: Documents
  description: Project documents and folders.
paths:
  /core/projects/{projectId}/documents:
    parameters:
    - name: projectId
      in: path
      required: true
      schema:
        type: integer
        format: int64
    get:
      summary: Filevine List Project Documents
      description: List documents in a project with optional folder, tag, and modified-since filters.
      operationId: listProjectDocuments
      tags:
      - Documents
      parameters:
      - name: folderId
        in: query
        schema:
          type: integer
          format: int64
      - name: tag
        in: query
        schema:
          type: string
      responses:
        '200':
          description: A list of documents.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DocumentList'
    post:
      summary: Filevine Upload Project Document
      description: Upload a document into a project. Supports optional folder placement, tags, and client-portal sharing.
      operationId: uploadProjectDocument
      tags:
      - Documents
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/UploadDocumentRequest'
      responses:
        '201':
          description: Document uploaded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
  /core/documents/{documentId}:
    parameters:
    - name: documentId
      in: path
      required: true
      schema:
        type: integer
        format: int64
    get:
      summary: Filevine Get Document
      description: Retrieve a document's metadata by ID.
      operationId: getDocument
      tags:
      - Documents
      responses:
        '200':
          description: Document found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Document'
components:
  schemas:
    Document:
      type: object
      properties:
        documentId:
          type: integer
          format: int64
        projectId:
          type: integer
          format: int64
        folderId:
          type: integer
          format: int64
        filename:
          type: string
        size:
          type: integer
        contentType:
          type: string
        tags:
          type: array
          items:
            type: string
        sharedToPortal:
          type: boolean
        version:
          type: integer
        uploadedBy:
          type: integer
          format: int64
        createdDate:
          type: string
          format: date-time
        modifiedDate:
          type: string
          format: date-time
    DocumentList:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        hasMore:
          type: boolean
    UploadDocumentRequest:
      type: object
      required:
      - file
      properties:
        file:
          type: string
          format: binary
        folderId:
          type: integer
          format: int64
        tags:
          type: array
          items:
            type: string
        sharedToPortal:
          type: boolean
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT