---
search:
  tags:
    - projects
    - POST
seo:
  description: >-
    Creates a new project in the workspace. Reference for the POST /projects
    endpoint in the Leadtime Public API API.
sidebar:
  badge: POST
  label: Create project
title: Create project
type: openapi-operation
---
Creates a new project in the workspace.

**Project Types:**
- **Single Projects**: One-off initiatives with defined start and finish
- **Ongoing Projects**: Continuous activities with recurring tasks

**Internal vs External:**
- **External Projects**: Set organizationId to link to a client organization. These are billable customer projects.
- **Internal Projects**: Set organizationId to null. These are non-billable company activities.

**Required Fields:**
- name: Project name
- type: Project type (Single or Ongoing)
- valueGroup: Value classification (A-D)
- categoryId: Project category UUID
- statusId: Project status UUID
- users: Array of user IDs (at least one)
- taskTypes: Array of task type IDs (at least one)
- activities: Array of activity IDs (at least one)

**Reference Data:**
- categoryId: use GET /projects/categories
- statusId: use GET /projects/statuses
- phaseId: use GET /projects/phases
- organizationId: use GET /organizations
- users/defaultAccountableId/responsibleId: use User.id from GET /workspace/users
- teams: use GET /teams
- taskTypes: use GET /tasks/types or GET /administration/task-settings/types
- activities: use GET /administration/task-settings/activities
- customFields: use configured project custom-field IDs from GET /administration/project-settings/custom-fields; values must match their definition types and do not create native scheduling, relationship, or billing behavior

**Optional Fields:**
- phaseId: Required for external single projects, optional otherwise
- organizationId: Required for external projects, must be null for internal projects
- description: HTML or Markdown (will be converted to internal format)
- icon: Icon identifier in the format `:icon_name:` (e.g., `:rocket:`, `:shopping_cart:`, `:mobile_phone:`). Use standard emoji short names or custom icon names.
- deadline: ISO 8601 date string
- defaultAccountableId: Default accountable user UUID
- responsibleId: Responsible user UUID
- teams: Array of team IDs
- customFields: Key-value pairs keyed by configured project custom-field ID; values must match each definition type
- tags: Array of tag strings
- guestAccess: Whether organization members can access (only for external projects)

**Description Format:**
The description field accepts HTML or Markdown and will be automatically converted to the internal IDoc format. When retrieved later, it will be returned as HTML.

<Operation source="api-reference" id="projectscontroller-createproject" />
