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

# Create a project

> Create a project for the authenticated API key's team.



## OpenAPI

````yaml /openapi.json post /v1/projects
openapi: 3.0.0
info:
  title: TestArmy API
  version: 1.0.0
  description: >-
    AI-powered browser automation API for QA testing. Automate web testing
    workflows using natural language prompts.
servers:
  - url: https://tester.army/api
    description: Production API server
security: []
paths:
  /v1/projects:
    post:
      tags:
        - Projects
      summary: Create a project
      description: Create a project for the authenticated API key's team.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 255
                url:
                  type: string
                  minLength: 1
                  maxLength: 500
                  description: Required for web projects; optional for mobile projects.
                projectType:
                  type: string
                  enum:
                    - web
                    - mobile
                description:
                  type: string
                  nullable: true
                  maxLength: 2000
              required:
                - name
      responses:
        '201':
          description: Project created
          content:
            application/json:
              schema:
                type: object
                properties:
                  project:
                    $ref: '#/components/schemas/ProjectDetail'
                required:
                  - project
        '400':
          description: Bad Request - Invalid input parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error code or type
                  message:
                    type: string
                    description: Human-readable error message
                required:
                  - error
                  - message
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error code or type
                  message:
                    type: string
                    description: Human-readable error message
                required:
                  - error
                  - message
        '403':
          description: Project limit exceeded for the current plan
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error code or type
                  message:
                    type: string
                    description: Human-readable error message
                  currentCount:
                    type: integer
                    minimum: 0
                  limit:
                    type: integer
                    minimum: 0
                required:
                  - error
                  - message
                  - currentCount
                  - limit
        '429':
          description: Too Many Requests - Usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error code or type
                  message:
                    type: string
                    description: Human-readable error message
                required:
                  - error
                  - message
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error code or type
                  message:
                    type: string
                    description: Human-readable error message
                required:
                  - error
                  - message
        '504':
          description: Gateway Timeout - Test execution exceeded time limit
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error code or type
                  message:
                    type: string
                    description: Human-readable error message
                required:
                  - error
                  - message
      security:
        - bearerAuth: []
components:
  schemas:
    ProjectDetail:
      type: object
      properties:
        browserRegion:
          type: string
          nullable: true
          enum:
            - eu
            - us
            - null
          description: >-
            Default proxy exit region for web runs. null keeps the provider's
            default networking. Web projects only.
        prTestingEnabled:
          type: boolean
          description: Test PR deployments automatically.
        prTestingInstructions:
          type: string
          nullable: true
          maxLength: 2000
          description: Free-form instructions for the PR exploration agent.
        prTestingDebounceMinutes:
          type: integer
          minimum: 0
          maximum: 60
          description: >-
            Quiet period before a PR deployment is tested. 0 disables
            debouncing.
        prTestingBlockMerge:
          type: boolean
          description: >-
            Conclude the GitHub check run as failed when tests fail, so a
            required TesterArmy check blocks the merge. Off by default.
        includeExampleMobileApp:
          type: boolean
          description: Offer the example app as a run target. Mobile projects only.
        autoDeleteOldestMobileApp:
          type: boolean
          description: >-
            Delete the oldest unused app builds when an upload exceeds the
            storage quota. Mobile projects only.
        accessibilityAuditEnabled:
          type: boolean
          description: >-
            Scan visited pages with axe-core during web runs and report critical
            accessibility violations as non-blocking warnings. On by default.
            Web projects only.
        id:
          type: string
          format: uuid
        shortId:
          type: string
          nullable: true
        name:
          type: string
        url:
          type: string
          nullable: true
        projectType:
          type: string
          enum:
            - web
            - mobile
        description:
          type: string
          nullable: true
        environments:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
              name:
                type: string
              slug:
                type: string
              kind:
                type: string
                enum:
                  - production
                  - pr_preview
                  - static
              url:
                type: string
                nullable: true
            required:
              - id
              - name
              - slug
              - kind
              - url
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - shortId
        - name
        - url
        - projectType
        - description
        - environments
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key authentication using Bearer token format

````