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

# Create Project



## OpenAPI

````yaml https://api.veryfront.com/openapi.json post /projects
openapi: 3.1.0
info:
  title: Veryfront REST API
  version: 1.0.0
  summary: Domain-first REST reference for the maintained Veryfront HTTP API surface.
  description: >-
    Project-first HTTP API for Veryfront project resources. Root
    account/platform endpoints that still appear in this reference are
    transitional compatibility surfaces unless the canonical inventory marks
    them otherwise.


    ## Start here


    - **Interactive REST reference:** [/docs](/docs)

    - **Raw OpenAPI document:** [/openapi.json](/openapi.json)

    - **Canonical inventory:** `docs/api-surface-inventory.md` in this
    repository

    - **GraphQL endpoint:** [/graphql](/graphql)

    - **MCP playground:** [/mcp/playground](/mcp/playground)


    ## Authentication


    Use one of these request headers:


    - `Authorization: Bearer <jwt>`

    - `Authorization: Bearer vf_<prefix>_<secret>`

    - `X-API-Key: vf_<prefix>_<secret>`


    JWTs must use the Bearer token contract. API keys work in either the Bearer
    header or `X-API-Key`.


    ## Discovery model


    Veryfront is one platform with multiple access modes:


    - **REST** for resource-oriented and operational HTTP workflows

    - **GraphQL** for connected app-facing data and typed mutations

    - **MCP** for tool-style automation and agent workflows


    For the fastest path through the platform, start with the project-scoped
    domain groups. Transitional account/platform groups are retained for
    compatibility and follow the removal register in the canonical inventory.
  contact:
    name: Veryfront API Support
    url: https://veryfront.com/docs
    email: support@veryfront.com
servers:
  - url: https://api.veryfront.com
    description: Current request origin
  - url: http://localhost:4000
    description: Local development
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: Projects
    description: Core project operations
  - name: Account
    description: >-
      Transitional account-level users and settings retained for dashboard
      compatibility
  - name: Project Users
    description: Project members and invites
  - name: Members
    description: Project members and invites
  - name: Files
    description: Main branch files
  - name: Branch Files
    description: Files on branches
  - name: Environment Files
    description: Files in environments
  - name: Release Files
    description: Files in releases
  - name: Uploads
    description: File uploads and assets
  - name: Branches
    description: Content branches for previews
  - name: Releases
    description: Published file snapshots
  - name: Deployments
    description: Connect releases to environments
  - name: Environments
    description: Deployment targets and variables
  - name: Environment Variables
    description: Project environment variable management
  - name: Domains
    description: Custom domains for environments
  - name: Project Servers
    description: Project-scoped dedicated server instances
  - name: Root Servers
    description: >-
      Transitional root dedicated-server administration retained for
      compatibility
  - name: Tasks
    description: Project tasks
  - name: Evals
    description: Project eval definitions and eval run projections
  - name: Work
    description: Project business-process definitions and execution state
  - name: Workflows
    description: Project workflows
  - name: Workflow Runs
    description: Workflow run history and status
  - name: Schedules
    description: Recurring project automation schedules
  - name: Webhooks
    description: Webhook-triggered automation entry points
  - name: Skills
    description: Project skills
  - name: Prompts
    description: Project prompts
  - name: Tools
    description: Project tools
  - name: Resources
    description: Project-defined resource documents and source-backed resource definitions
  - name: Sandboxes
    description: Ephemeral sandbox execution environments
  - name: Search
    description: Text and vector search
  - name: Knowledge
    description: Knowledge manifest lookup across project knowledge files
  - name: Chunks
    description: File chunks for search indexing
  - name: Embeddings
    description: Vector embeddings
  - name: RAG Documents
    description: Project retrieval-augmented knowledge documents
  - name: Style Artifacts
    description: Project style artifact state and build outputs
  - name: External Storage
    description: Transitional connected cloud-provider file operations
  - name: Project Cache
    description: Project-scoped distributed cache operations
  - name: User Cache
    description: Transitional user cache helpers retained for compatibility
  - name: API Keys
    description: >-
      Transitional user/account API key management; prefer project-scoped keys
      for public integrations
  - name: User
    description: Transitional current-user profile endpoint for first-party clients
  - name: Favorites
    description: Transitional user favorites for first-party dashboard clients
  - name: Subscriptions
    description: Transitional account billing and subscription workflows
  - name: Credits
    description: Transitional account credit balance, purchase, and insufficiency flows
  - name: Usage
    description: >-
      Project/account usage limits and warnings; account-level usage is
      transitional
  - name: Gates
    description: Transitional plan and feature gate checks for first-party clients
  - name: Channels
    description: Project channel integrations and delivery settings
  - name: Agents
    description: Project agents
  - name: Agent Catalog
    description: Public catalog of agents assembled from curated template projects
  - name: Agent Workers
    description: Internal/transitional agent worker leases and sessions
  - name: Agent Runtimes
    description: Registered push-based agent runtime services and runtime target health
  - name: Project Integrations
    description: Project-scoped integration catalog and configuration
  - name: Integrations
    description: Transitional external integration catalog for first-party clients
  - name: Integration Tools
    description: >-
      Transitional dynamic integration tool listing, invocation, and connection
      state
  - name: OAuth
    description: >-
      Transitional OAuth integration flows for first-party and connected-app
      clients
  - name: Templates
    description: Transitional starter-template discovery used during project creation
  - name: AI
    description: >-
      Transitional platform AI gateway/model helpers; project AI assets use
      project-scoped routes
  - name: Images
    description: Generated images and image assets
  - name: Conversations
    description: Transitional conversation/run-control HTTP surface for first-party clients
  - name: Runs
    description: Transitional hosted run-control endpoints for conversation execution
  - name: MCP
    description: >-
      MCP catalog/playground helpers; primary MCP traffic uses the streamable
      MCP handler
  - name: Logs
    description: Project log queries via Loki
  - name: Metrics
    description: Project metric queries via a Prometheus-compatible backend
  - name: Traces
    description: Project trace queries via Grafana Tempo
  - name: Errors
    description: Internal/public error type catalog (RFC 9457)
  - name: Authentication
    description: Transitional auth token, login, logout, magic-link, and JWKS flows
externalDocs:
  description: Interactive REST reference
  url: https://api.veryfront.com/docs
paths:
  /projects:
    post:
      tags:
        - Projects
      summary: Create Project
      operationId: createProject
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                slug:
                  type: string
                  minLength: 1
                  pattern: ^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$
                templateSlug:
                  type: string
                templateProjectId:
                  type: string
                  format: uuid
              required:
                - name
            example:
              name: My Project
              description: A sample project description
              templateSlug: blank
      responses:
        '201':
          description: Project created
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    example: 550e8400-e29b-41d4-a716-446655440000
                  slug:
                    type: string
                    example: my-project
                  name:
                    type: string
                    example: My Project
                  description:
                    type: string
                    example: A sample project description
                  is_claimed:
                    type: boolean
                  features:
                    type: array
                    items:
                      type: string
                  environments:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        name:
                          type: string
                        protected:
                          type: boolean
                        domains:
                          type: array
                          items:
                            type: string
                        environment_variables:
                          type: array
                          items:
                            nullable: true
                        active_release_id:
                          type: string
                          nullable: true
                          format: uuid
                        server_hostname:
                          type: string
                          nullable: true
                      required:
                        - id
                        - name
                  releases:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        name:
                          type: string
                        export_status:
                          type: string
                        build_status:
                          type: string
                        deploy_status:
                          type: string
                      required:
                        - id
                        - name
                  created_at:
                    type: string
                    example: '2024-01-15T10:30:00Z'
                  updated_at:
                    type: string
                    example: '2024-01-15T10:30:00Z'
                  published_at:
                    type: string
                  prompt_count:
                    type: number
                  config:
                    type: object
                    additionalProperties:
                      nullable: true
                  provider:
                    type: string
                    nullable: true
                  layout:
                    type: string
                    nullable: true
                  type:
                    type: string
                    enum:
                      - regular
                      - default
                      - template
                  system_managed:
                    type: boolean
                  users:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        email:
                          type: string
                        name:
                          type: string
                        role:
                          type: string
                        avatar_src:
                          type: string
                      required:
                        - id
                  capabilities:
                    type: array
                    items:
                      type: string
                      enum:
                        - project.read
                        - project.settings.manage
                        - project.delete
                        - project.members.read
                        - project.members.manage
                        - project.invites.read
                        - project.invites.manage
                        - project.files.read
                        - project.files.write
                        - project.files.admin
                        - project.uploads.read
                        - project.uploads.write
                        - project.uploads.admin
                        - project.knowledge.read
                        - project.knowledge.write
                        - project.releases.read
                        - project.releases.write
                        - project.deployments.read
                        - project.deployments.write
                        - project.deploy.execute
                        - project.runtime.manage
                        - project.domains.write
                        - project.environments.manage
                        - project.env_vars.write
                        - project.runs.read
                        - project.runs.write
                        - project.work.read
                        - project.work.write
                        - project.work.executions.read
                        - project.work.executions.write
                        - project.agents.read
                        - project.agents.write
                        - project.evals.read
                        - project.evals.write
                        - project.evals.run
                        - project.conversations.read
                        - project.conversations.write
                        - project.integrations.read
                        - project.integrations.connect
                        - project.integrations.configure
                        - project.api_keys.read
                        - project.api_keys.manage
                        - project.cache.read
                        - project.cache.write
                        - project.logs.read
                        - project.metrics.read
                        - project.resources.read
                  labels:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        namespace:
                          type: string
                        key:
                          type: string
                        value:
                          type: string
                          nullable: true
                        color:
                          type: string
                          nullable: true
                      required:
                        - id
                        - namespace
                        - key
                        - value
                required:
                  - id
                  - slug
                  - name
        '400':
          description: Invalid input
        '401':
          description: Unauthorized
        '500':
          description: Server error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use a JWT bearer token or a Veryfront API key in the Authorization
        header.
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Alternative API key header for vf_<prefix>_<secret> tokens.

````