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

# Create a project

> Create a reusable project environment.



## OpenAPI

````yaml https://api.tembo.io/public-api/openapi/public post /v1/projects
openapi: 3.1.0
info:
  title: Tembo Public API
  description: Public API Endpoints for Tembo
  version: 1.0.0
servers:
  - url: https://api.tembo.io
    description: Tembo API
  - url: https://{deployment-origin}/api/public-api
    description: Self-hosted Tembo
    variables:
      deployment-origin:
        default: tembo.example.com
        description: Hostname of your self-hosted Tembo deployment
security: []
paths:
  /v1/projects:
    post:
      tags:
        - Projects
      summary: Create a project
      description: Create a reusable project environment.
      operationId: createProject
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                description:
                  type:
                    - string
                    - 'null'
                  maxLength: 300
                includeDeps:
                  type: boolean
                includeSkills:
                  type: boolean
                name:
                  type: string
                  minLength: 1
                  maxLength: 120
                setupScript:
                  type:
                    - string
                    - 'null'
                  maxLength: 20000
                codeRepositoryIds:
                  type:
                    - array
                    - 'null'
                  items:
                    type: string
                    minLength: 1
                    maxLength: 255
                color:
                  type: string
                  enum:
                    - neutral
                    - red
                    - orange
                    - yellow
                    - green
                    - teal
                    - blue
                    - purple
                    - pink
                icon:
                  type: string
                  enum:
                    - folder
                    - code
                    - terminal
                    - book
                    - brain
                    - bug
                    - building
                    - cloud
                    - globe
                    - idea
                    - tools
                    - magic
                    - processor
                    - sandbox
                    - server
                    - tasks
                    - tactics
                    - images
                    - database
                    - api
                    - mobile
                    - package
                runNow:
                  type: boolean
                schedule:
                  type: object
                  properties:
                    cron:
                      type: string
                      minLength: 1
                      maxLength: 120
                    timezone:
                      type: string
                      minLength: 1
                      maxLength: 100
                  required:
                    - cron
                  additionalProperties: false
                sizes:
                  type: array
                  items:
                    type: string
                    enum:
                      - nano
                      - micro
                      - medium
                      - large
                      - xl
                      - xxl
                      - ultra
                  minItems: 1
              required:
                - name
                - sizes
              additionalProperties: false
      responses:
        '201':
          description: Create a project
          content:
            application/json:
              schema:
                type: object
                properties:
                  jobIds:
                    type: array
                    items:
                      type: string
                      minLength: 1
                      maxLength: 255
                  project:
                    type: object
                    properties:
                      createdAt:
                        type: string
                        format: date-time
                      description:
                        type:
                          - string
                          - 'null'
                      id:
                        type: string
                        minLength: 1
                        maxLength: 255
                      includeDeps:
                        type: boolean
                        default: true
                      includeSkills:
                        type: boolean
                        default: true
                      name:
                        type: string
                      setupScript:
                        type:
                          - string
                          - 'null'
                      updatedAt:
                        type: string
                        format: date-time
                      activeSnapshots:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              minLength: 1
                              maxLength: 255
                            size:
                              type: string
                              enum:
                                - nano
                                - micro
                                - small
                                - medium
                                - large
                                - xl
                                - xxl
                                - ultra
                            builtAt:
                              type: string
                              format: date-time
                          required:
                            - id
                            - size
                            - builtAt
                          additionalProperties: false
                      codeRepositoryIds:
                        type:
                          - array
                          - 'null'
                        items:
                          type: string
                          minLength: 1
                          maxLength: 255
                      color:
                        type: string
                        enum:
                          - neutral
                          - red
                          - orange
                          - yellow
                          - green
                          - teal
                          - blue
                          - purple
                          - pink
                      defaultForSizes:
                        type: array
                        items:
                          type: string
                          enum:
                            - nano
                            - micro
                            - small
                            - medium
                            - large
                            - xl
                            - xxl
                            - ultra
                      icon:
                        type: string
                        enum:
                          - folder
                          - code
                          - terminal
                          - book
                          - brain
                          - bug
                          - building
                          - cloud
                          - globe
                          - idea
                          - tools
                          - magic
                          - processor
                          - sandbox
                          - server
                          - tasks
                          - tactics
                          - images
                          - database
                          - api
                          - mobile
                          - package
                      sizes:
                        type: array
                        items:
                          type: string
                          enum:
                            - nano
                            - micro
                            - medium
                            - large
                            - xl
                            - xxl
                            - ultra
                      warmPoolEnabled:
                        type: boolean
                    required:
                      - createdAt
                      - description
                      - id
                      - includeDeps
                      - includeSkills
                      - name
                      - setupScript
                      - updatedAt
                      - activeSnapshots
                      - codeRepositoryIds
                      - color
                      - defaultForSizes
                      - icon
                      - sizes
                      - warmPoolEnabled
                    additionalProperties: false
                required:
                  - jobIds
                  - project
                additionalProperties: false
        '400':
          description: Validation error or missing resource scope
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Project resource not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '409':
          description: Project resource conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Project operation failed
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer

````