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

# Create a project

> Create a project for a team



## OpenAPI

````yaml https://api.alpic.ai/openapi.json post /v1/projects
openapi: 3.1.1
info:
  title: Alpic API
  version: 1.0.0
servers:
  - url: https://api.alpic.ai
security:
  - bearerAuth: []
paths:
  /v1/projects:
    post:
      tags:
        - projects
      summary: Create a project
      description: Create a project for a team
      operationId: projects.create.v1
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                teamId:
                  type: string
                name:
                  type: string
                  minLength: 1
                  maxLength: 100
                sourceRepository:
                  type: string
                branchName:
                  type: string
                  minLength: 1
                runtime:
                  enum:
                    - python3.13
                    - python3.14
                    - node22
                    - node24
                  type: string
                transport:
                  enum:
                    - stdio
                    - sse
                    - streamablehttp
                  type: string
                rootDirectory:
                  type: string
                settings:
                  type: object
                  properties:
                    installCommand:
                      type: string
                    buildCommand:
                      type: string
                    buildOutputDir:
                      type: string
                    startCommand:
                      type: string
                  default: {}
                environmentVariables:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        minLength: 2
                        pattern: ^[a-zA-Z]([a-zA-Z0-9_])+$
                      value:
                        type: string
                        minLength: 1
                      isSecret:
                        type: boolean
                        default: false
                    required:
                      - key
                      - value
                  default: []
              required:
                - name
                - runtime
      responses:
        '200':
          description: The project has been created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  teamId:
                    type: string
                  environments:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                      required:
                        - id
                        - name
                  productionEnvironment:
                    anyOf:
                      - type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                        required:
                          - id
                          - name
                      - type: 'null'
                  sourceRepository:
                    anyOf:
                      - type: string
                      - type: 'null'
                  runtime:
                    enum:
                      - python3.13
                      - python3.14
                      - node22
                      - node24
                    type: string
                  transport:
                    anyOf:
                      - enum:
                          - stdio
                          - sse
                          - streamablehttp
                        type: string
                      - type: 'null'
                  rootDirectory:
                    anyOf:
                      - type: string
                      - type: 'null'
                  buildCommand:
                    anyOf:
                      - type: string
                      - type: 'null'
                  buildOutputDir:
                    anyOf:
                      - type: string
                      - type: 'null'
                  installCommand:
                    anyOf:
                      - type: string
                      - type: 'null'
                  startCommand:
                    anyOf:
                      - type: string
                      - type: 'null'
                  createdAt:
                    type: string
                    format: date-time
                    x-native-type: date
                required:
                  - id
                  - name
                  - teamId
                  - environments
                  - productionEnvironment
                  - sourceRepository
                  - runtime
                  - transport
                  - rootDirectory
                  - buildCommand
                  - buildOutputDir
                  - installCommand
                  - startCommand
                  - createdAt
        '400':
          description: '400'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: BAD_REQUEST
                      status:
                        const: 400
                      message:
                        type: string
                        default: Bad Request
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '403':
          description: '403'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: FORBIDDEN
                      status:
                        const: 403
                      message:
                        type: string
                        default: Forbidden
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
        '404':
          description: '404'
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      defined:
                        const: true
                      code:
                        const: NOT_FOUND
                      status:
                        const: 404
                      message:
                        type: string
                        default: Not Found
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
                  - type: object
                    properties:
                      defined:
                        const: false
                      code:
                        type: string
                      status:
                        type: number
                      message:
                        type: string
                      data: {}
                    required:
                      - defined
                      - code
                      - status
                      - message
components:
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        Bearer token for authentication. Use an API key from the API Keys page
        in team settings, or an OAuth access token.
      scheme: bearer

````