> ## Documentation Index
> Fetch the complete documentation index at: https://developers.harvey.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a new Vault project

> Creates a new project in the Vault system. The project can be designated as a knowledge base.

### Permissions

Requires `Vault API` and `Modify workspace projects` permissions.


## OpenAPI

````yaml /vault_api.json post /api/v1/vault/create_project
openapi: 3.0.1
info:
  title: Vault - Upload Documents
  description: >-
    The Vault Upload Documents API enables users to programmatically upload and
    manage documents within Vault projects. This API allows organizations to
    maintain projects with their own internal files for their users to use
    within the Harvey app.
  version: 1.0.0
  contact:
    email: support@harvey.ai
servers:
  - url: https://api.harvey.ai
    description: Harvey API server
security: []
paths:
  /api/v1/vault/create_project:
    post:
      tags:
        - Vault
      summary: Create a new Vault project
      description: >-
        Creates a new project in the Vault system. The project can be designated
        as a knowledge base.
      operationId: createVaultProject
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: The name of the new project
                  example: Example Legal Documents Project
                is_knowledge_base_project:
                  type: boolean
                  description: Flag indicating whether this project is a knowledge base
                  example: true
                client_matter_id:
                  type: string
                  format: uuid
                  description: >-
                    When set, associates the new project with this client
                    matter. Use the client matter UUID (from Client Matters API
                    responses), not the human-readable matter number.
                  example: 11111111-2222-3333-4444-555555555555
              required:
                - name
      responses:
        '200':
          description: Project successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProjectResponse'
        '400':
          description: Bad request.
        '401':
          description: Unauthorized.
        '429':
          description: Rate limit exceeded.
        '500':
          description: Internal server error.
      security:
        - bearerAuth: []
components:
  schemas:
    CreateProjectResponse:
      type: object
      properties:
        project_id:
          type: string
          description: The unique identifier of the created project.
          example: proj_1234567890abcdef
        name:
          type: string
          description: The name of the created project.
          example: My Legal Documents
        description:
          type: string
          description: The description of the project.
          example: Project for storing legal case documents
        created_at:
          type: string
          format: date-time
          description: Timestamp when the project was created.
          example: '2024-01-15T10:30:00Z'
        settings:
          type: object
          properties:
            max_file_size:
              type: integer
              description: Maximum file size in bytes.
              example: 104857600
            max_files:
              type: integer
              description: Maximum number of files allowed in the project.
              example: 1000
            allowed_file_types:
              type: array
              items:
                type: string
              description: Array of allowed file extensions.
              example:
                - pdf
                - docx
                - xlsx
                - pptx
                - txt
                - rtf
                - csv
                - eml
        status:
          type: string
          description: The status of the project.
          example: active
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````