---
title: "Creates a Project"
method: POST
path: "/api/2026-10-01/resources/project_management/projects"
tags: ["ProjectManagement > Project"]
---

# Creates a Project

`POST /api/2026-10-01/resources/project_management/projects`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/project_management/projects`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `project_management_projects`
  - API key in header `x-api-key`

###### **What does it do?**
This creates a new project. By default, the project will be created with the status `active`.
###### **What body params do you need?**

  - `name`: is mandatory to pass a name of the project.
  - `code`: optional unique code for the project to be identifiable and searchable.
  - `start_date`: optional start date for the project. If given must be in iso-8601 format (YYYY-MM-DD).
  - `due_date`: optional due date for the project. If given must be in iso-8601 format (YYYY-MM-DD).
  - `status`: a project can have the status `active` or `closed`. By default, the project will be created with the status `active`.
  - `employees_assignment`: optional param to define the kind of assignation the project has. Its possible values are: [`manual`, `company`]. A project can have `manual` assignation or can be defined to be assigned to the whole `company`. Defaults to `manual`.
###### **Who can use it?**
Only companies who have enabled the `projects_management` feature and users with the permission of create projects.

## Request body

- object
  - `name` string, required: Mandatory to pass a name of the project.
  - `code` string: Optional unique code for the project to be identifiable and searchable.
  - `description` string: Description of the project.
  - `start_date` string: Optional start date for the project. If given must be in iso-8601 format (YYYY-MM-DD).
  - `due_date` string: Optional due date for the project. If given must be in iso-8601 format (YYYY-MM-DD).
  - `status` string: Project status. Can be `active` or `closed`
  - `employees_assignment` string: Optional param to define the kind of assignation the project has. Can be `manual` or `company`
  - `project_admins` string[]: Array of employee IDs who are project administrators
  - `project_managers` string[]: Array of employee IDs who are project managers
  - `project_viewers` string[]: Array of employee IDs who are project viewers
  - `is_billable` boolean: Whether the project is billable to clients
  - `fixed_cost_cents` integer: Fixed cost of the project in cents
  - `budget_allocation` integer: Budget allocation in minutes for the project, it's exclusive of the budget_allocation_cents
  - `legal_entity_id` string: The legal entity ID associated with the project
  - `budget_allocation_cents` integer: Budget allocation amount in cents, it's exclusive of the budget_allocation
  - `fee_amount_cents` integer: Fee amount in cents for the project
  - `client_id` string: Client associated to the project, refers to finance/contacts.

## Response `201`

CREATED

- ProjectManagementProject
  - `id` string, required: The id of the project
  - `name` string, required: The name of the project
  - `code` string: The code of the project
  - `description` string: The description of the project
  - `start_date` string: The start date of the project
  - `due_date` string: The end date of the project
  - `status` 'active' | 'closed' | 'draft' | 'processing', required: The lifecycle status of the project (whether it is still running and can take new charges)
  - `employees_assignment` 'manual' | 'company', required: How employees get access to the project — `manual` (hand-picked members) or `company` (everyone in the company)
  - `inputed_minutes` integer: The total minutes tracked in the project (if requested)
  - `is_billable` boolean, required: Whether the project's costs can be billed (recharged) to a client
  - `fixed_cost_cents` integer: Total fixed costs in cents
  - `labor_cost_cents` integer: Total labor costs in cents
  - `legal_entity_id` string, required: The legal entity id of the project
  - `spending_cost_cents` integer: Total spending costs in cents
  - `client_id` string: The client of the project, refers to finance/contacts.
  - `total_cost_cents` integer: Total Cost in cents

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/project_management/projects/post.md)

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
