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

# Create a project

> Create a new project within the organisation with optional content copying from an existing project.



## OpenAPI

````yaml /openapi/brms.json post /api/projects
openapi: 3.0.3
info:
  title: GoRules BRMS
  version: local
servers: []
security: []
tags:
  - name: AI
    description: >-
      AI-powered assistant for interactive conversations and decision logic
      generation
  - name: Audit log
    description: Track and export organisation activity logs for compliance and monitoring
  - name: Branches
    description: >-
      Manage feature branches for collaborative decision development with
      commits and merging
  - name: Change requests
    description: Review and approve changes before merging or deploying to environments
  - name: Cloud
    description: Cloud-specific endpoints for organisation and client management
  - name: Decision
    description: Evaluate and simulate decision graphs with trace and performance data
  - name: Deployment workflows
    description: Manage deployment workflow runs and job approvals
  - name: Deployments
    description: Configure cloud storage providers for release deployments
  - name: Document
    description: Manage decision documents, versions, and file operations within projects
  - name: Environment
    description: >-
      Configure deployment environments with approval workflows and access
      tokens
  - name: Group
    description: Manage permission groups for project-level access control
  - name: Infrastructure
    description: Health check and infrastructure status endpoints
  - name: Integration
    description: Configure external integrations for HTTP requests and data sources
  - name: Invitation
    description: Manage organisation invitations for new members
  - name: Member
    description: Manage project membership and group assignments
  - name: Organisation
    description: Manage organisation settings, preferences, and licensing
  - name: Personal access token
    description: Create and manage personal access tokens for API authentication
  - name: Profile
    description: Manage current user profile settings
  - name: Project
    description: Create and manage projects with approval workflows
  - name: Release
    description: >-
      Package, version, and deploy decision documents. Learn more about
      [Releases](https://gorules.io/developers/brms/multi-environment)
  - name: Roles
    description: Define custom roles with permissions for organisation-wide access control
  - name: Security
    description: Manage project access tokens for API authentication
  - name: Templates
    description: Browse and apply project templates for quick onboarding
  - name: Test events
    description: Manage test events for decision evaluation and testing
  - name: User
    description: Manage organisation users, invitations, and service accounts
paths:
  /api/projects:
    post:
      tags:
        - Project
      summary: Create a project
      description: >-
        Create a new project within the organisation with optional content
        copying from an existing project.
      operationId: createProject
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the project
                key:
                  type: string
                  pattern: ^[a-z0-9]{2,}(-[a-z0-9]+)*$
                  description: >-
                    Unique key identifier for the project (lowercase letters,
                    numbers, and hyphens)
                copyContentRef:
                  type: string
                  format: uuid
                  description: Project ID to copy content from
                protected:
                  type: boolean
                  default: false
                  description: Whether the project should be protected from deletion
                version:
                  type: string
                  nullable: true
                  enum:
                    - v1
                    - v2
                    - null
                  default: v1
                  description: Project version to create (v1 or v2)
              required:
                - name
                - key
        required: true
      responses:
        '200':
          description: The created project with details
          content:
            application/json:
              schema:
                type: object
                properties:
                  project:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                        description: Unique identifier of the project
                      name:
                        type: string
                        description: Name of the project
                      key:
                        type: string
                        description: Unique key identifier for the project
                      organisationId:
                        type: string
                        format: uuid
                        description: Organisation ID the project belongs to
                      version:
                        type: string
                        enum:
                          - v1
                          - v2
                        description: Project version (v1 or v2)
                      createdAt:
                        type: string
                        description: Timestamp when the project was created
                      updatedAt:
                        type: string
                        description: Timestamp when the project was last updated
                      protected:
                        type: boolean
                        description: Whether the project is protected from deletion
                      deletedAt:
                        type: string
                        nullable: true
                        description: Timestamp when the project was soft deleted
                      decisionsApprovalMode:
                        type: string
                        nullable: true
                        enum:
                          - require_one_per_team
                          - none_create_request
                          - require_any
                          - none
                          - null
                        description: Approval mode for decisions
                      decisionsApprovalGroups:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                              description: Unique identifier of the group
                            name:
                              type: string
                              description: Name of the group
                            description:
                              type: string
                              description: Description of the group
                            projectId:
                              type: string
                              format: uuid
                              description: Project ID the group belongs to
                            roleId:
                              type: string
                              format: uuid
                              description: Role ID associated with the group
                          required:
                            - id
                            - name
                            - projectId
                        description: Groups required for decision approvals
                    required:
                      - id
                      - name
                      - organisationId
                      - version
                      - createdAt
                      - updatedAt
                    description: The created project
                required:
                  - project
                description: The created project with details
      security:
        - personalAccessToken: []
        - internalAuth: []
components:
  securitySchemes:
    personalAccessToken:
      type: http
      scheme: bearer
      description: Personal access token is obtained through your profile
    internalAuth:
      type: http
      scheme: internal
      description: Cannot be used directly

````