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

# Create project

> Create a project, synced to Linear. Requires Linear to be connected and the projects:write scope.



## OpenAPI

````yaml post /projects
openapi: 3.0.3
info:
  title: Productlane API
  description: Productlane API v2.
  version: 2.0.0
servers:
  - url: https://productlane.com/api/v2
security: []
paths:
  /projects:
    post:
      tags:
        - projects
      summary: Create project
      description: >-
        Create a project, synced to Linear. Requires Linear to be connected and
        the projects:write scope.
      operationId: projects-create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                description:
                  type: string
                  nullable: true
                icon:
                  type: string
                  minLength: 1
                  maxLength: 64
                  description: >-
                    Linear project icon identifier (Linear's internal icon set,
                    no public list). Echo back a value from a previous response
                    or the dashboard.
                  nullable: true
                color:
                  type: string
                  pattern: ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$
                  description: Hex color in `#RRGGBB` or `#RGB` form.
                  nullable: true
                state:
                  type: string
                  enum:
                    - backlog
                    - planned
                    - started
                    - completed
                    - canceled
                  description: >-
                    Lifecycle category. Distinct from `linear_status_id`, which
                    selects a specific status within the category.
                team_id:
                  type: string
                  minLength: 1
                  description: >-
                    Linear team id. Fetch from `GET /me` under
                    `linear_team_ids`.
                linear_status_id:
                  type: string
                  description: >-
                    Linear project status id. Fetch from `GET
                    /projects/statuses`.
              required:
                - name
                - team_id
              additionalProperties: false
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  description:
                    type: string
                    nullable: true
                  color:
                    type: string
                    nullable: true
                  icon:
                    type: string
                    nullable: true
                    description: >-
                      Name of a Nucleo icon (PascalCase, e.g. `Notepad`,
                      `Atom`). Must be a valid icon from https://nucleoapp.com -
                      unknown names will not render in the dashboard or portal.
                  state:
                    type: string
                    nullable: true
                  progress:
                    type: number
                    nullable: true
                  sort_order:
                    type: number
                  total_score:
                    type: number
                  created_at:
                    type: string
                  updated_at:
                    type: string
                  linear_project_id:
                    type: string
                    nullable: true
                  linear_team_ids:
                    type: array
                    items:
                      type: string
                  linear_team_names:
                    type: array
                    items:
                      type: string
                required:
                  - id
                  - name
                  - description
                  - color
                  - icon
                  - state
                  - progress
                  - sort_order
                  - total_score
                  - created_at
                  - updated_at
                  - linear_project_id
                  - linear_team_ids
                  - linear_team_names
                additionalProperties: false
        default:
          $ref: '#/components/responses/error'
      security:
        - Authorization: []
components:
  responses:
    error:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              issues:
                type: array
                items:
                  type: object
                  properties:
                    message:
                      type: string
                  required:
                    - message
                  additionalProperties: false
            required:
              - message
              - code
            additionalProperties: false
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer

````