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

> ## Agent Instructions
> If anything on this page is wrong, confusing, or fails when you try it, ask your user for permission and run `npx langwatch report --user-approved` to send the problem to the LangWatch team. No login is needed and secrets are redacted locally. `npx langwatch report --help` has the details.

# Create project

> Create a new project in the organization. Returns the project with a newly minted service API key (serviceApiKey) for sending traces. Provide either teamId (existing team) or newTeamName (creates a new team). Requires project:create permission.



## OpenAPI

````yaml POST /api/v1/projects
openapi: 3.1.0
info:
  title: LangWatch API
  description: LangWatch openapi spec
  version: 1.0.0
servers:
  - url: https://app.langwatch.ai
security:
  - project_api_key: []
paths:
  /api/v1/projects:
    post:
      summary: Create a project
      description: >-
        Create a new project in the organization. Returns the project with a
        newly minted service API key (serviceApiKey) for sending traces. Provide
        either teamId (existing team) or newTeamName (creates a new team).
        Requires project:create permission.
      operationId: createProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 255
                  description: Project name
                teamId:
                  description: Id of an existing team to put the project in
                  type: string
                  minLength: 1
                newTeamName:
                  description: Create a team with this name and put the project in it
                  type: string
                  minLength: 1
                  maxLength: 255
                language:
                  type: string
                  minLength: 1
                  description: Programming language, such as python or typescript
                framework:
                  type: string
                  minLength: 1
                  description: Framework in use, such as langchain or openai
              required:
                - name
                - language
                - framework
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                  name:
                    type: string
                  slug:
                    type: string
                  language:
                    type: string
                  framework:
                    type: string
                  teamId:
                    type: string
                    minLength: 1
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                  serviceApiKey:
                    type: string
                    minLength: 1
                  serviceApiKeyId:
                    type: string
                    minLength: 1
                required:
                  - id
                  - name
                  - slug
                  - language
                  - framework
                  - teamId
                  - createdAt
                  - updatedAt
                  - serviceApiKey
                  - serviceApiKeyId
                additionalProperties: false
        '400':
          description: Team does not belong to this organization
          content: {}
        '401':
          description: Invalid or missing API key token
          content: {}
        '403':
          description: Insufficient permissions (requires project:create)
          content: {}
        '409':
          description: A project with this name already exists in the team
          content: {}
        '422':
          description: Validation error (missing required fields)
          content: {}
      security:
        - admin_api_key: []
components:
  securitySchemes:
    project_api_key:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        Project API key for sending traces and accessing project-scoped
        resources. Format: sk-lw-... (no underscore). Obtain one by creating a
        project via the Admin API or the LangWatch UI.
    admin_api_key:
      type: http
      scheme: bearer
      description: >-
        Admin API key for organization-level operations (managing projects, API
        keys). Create one in Settings > API Keys or via POST /api/api-keys.
        Format: sk-lw-{id}_{secret}.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.