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

# Create project



## OpenAPI

````yaml /api-reference/openapi.yaml post /projects
openapi: 3.1.0
info:
  title: Avera API
  version: 1.0.0
  description: >
    Avera ALM/PLM/QMS Platform API for regulated industries.


    ## Authentication

    All endpoints require Bearer token authentication and tenant context
    headers.


    ## Common Headers

    - `X-Tenant-ID`: Required. UUID of the current tenant.

    - `X-Branch-ID`: Required for item operations. UUID of the current branch.

    - `X-Correlation-ID`: Optional. Request correlation ID for tracing.
servers:
  - url: /api/v1
    description: API v1
security:
  - bearerAuth: []
tags:
  - name: Projects
    description: Project management operations
  - name: Items
    description: Item (requirement, design, test) operations
  - name: Branches
    description: Branch management for version control
  - name: Schema
    description: Meta-model schema operations
paths:
  /projects:
    post:
      tags:
        - Projects
      summary: Create project
      operationId: createProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
      responses:
        '201':
          description: Project created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
components:
  schemas:
    CreateProjectRequest:
      type: object
      properties:
        key:
          type: string
          minLength: 2
          maxLength: 10
        name:
          type: string
          minLength: 1
          maxLength: 255
        description:
          type: string
          maxLength: 1000
        templateId:
          type: string
      required:
        - key
        - name
    Project:
      type: object
      properties:
        id:
          type: string
          format: uuid
        key:
          type: string
        name:
          type: string
        description:
          type: string
          nullable: true
        status:
          $ref: '#/components/schemas/ProjectStatus'
        templateId:
          type: string
          nullable: true
        defaultBranchId:
          type: string
          format: uuid
          nullable: true
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
          format: uuid
        modifiedAt:
          type: string
          format: date-time
        modifiedBy:
          type: string
          format: uuid
      required:
        - id
        - key
        - name
        - status
        - createdAt
        - createdBy
        - modifiedAt
        - modifiedBy
    ProjectStatus:
      type: string
      enum:
        - ACTIVE
        - ARCHIVED
        - TEMPLATE
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````