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

# Create project

> Creates a new project owned by the authenticated user. When `spectrum` is true, a Spectrum project is provisioned and its `spectrumProjectId` + `projectSecret` are set on the response.



## OpenAPI

````yaml /api-reference/dashboard-openapi.json post /api/projects/
openapi: 3.0.3
info:
  title: Photon Dashboard API
  version: 0.1.0
  description: >-
    Authenticated REST API for the Photon Dashboard. Used by the web app and the
    `photon` CLI. Only the public-surface endpoints are listed here today.
servers:
  - url: https://app.photon.codes
security: []
tags:
  - name: Projects
    description: Project CRUD and Spectrum credentials.
  - name: Device login
    description: RFC 8628 device authorization flow used by the CLI.
paths:
  /api/projects/:
    post:
      tags:
        - Projects
      summary: Create project
      description: >-
        Creates a new project owned by the authenticated user. When `spectrum`
        is true, a Spectrum project is provisioned and its `spectrumProjectId` +
        `projectSecret` are set on the response.
      operationId: createProject
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - name
              properties:
                name:
                  type: string
                location:
                  type: string
                  example: United States
                spectrum:
                  type: boolean
                  default: false
                template:
                  type: boolean
                  default: false
                observability:
                  type: boolean
                  default: false
                platforms:
                  type: array
                  items:
                    type: string
                    enum:
                      - imessage
                      - whatsapp_business
                      - voice
      responses:
        '200':
          description: Created project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Project'
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '401':
          description: Missing or invalid access token.
      security:
        - bearerAuth: []
components:
  schemas:
    Project:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        location:
          type: string
          example: United States
        status:
          type: string
          example: running
        spectrum:
          type: boolean
        spectrumProjectId:
          type: string
          nullable: true
          description: >-
            Spectrum project id. Use as the `projectId` half of HTTP Basic auth
            against the Spectrum API.
        projectSecret:
          type: string
          nullable: true
          description: >-
            Spectrum project secret. Use as the `projectSecret` half of HTTP
            Basic auth against the Spectrum API. Returned only to project owners
            and members.
        template:
          type: boolean
        observability:
          type: boolean
        userId:
          type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - name
        - location
        - status
        - spectrum
        - template
        - observability
        - userId
        - createdAt
        - updatedAt
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Access token obtained via the device login flow.

````