---
title: "Create a new project."
method: POST
path: "/api/Projects"
tags: ["Projects"]
---

# Create a new project.

`POST /api/Projects`

## Request

- Base URL: `https://api.3dprintlog.com`
- URL: `https://api.3dprintlog.com/api/Projects`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://3dprintlog.auth0.com/authorize`, token URL `https://3dprintlog.auth0.com/oauth/token`)
  - API key in header `X-Api-Key`
  - API key in query parameter `api_key`

## Request body

- PrintLogApiModelsDTOsProjectAddProjectDto
  - `name` string, required
  - `reference` string, nullable
  - `description` string, nullable
  - `url` string, nullable
  - `status` 1 | 2 | 3 | 4: Sent as an integer: `1` = InProgress, `2` = Complete, `3` = OnHold, `4` = Cancelled.
  - `viewStatus` 1 | 2 | 3: Sent as an integer: `1` = Public, `2` = Unlisted, `3` = Private.
  - `startDateOverride` string, date, nullable: Manual start date, or null to derive the start date from the project's prints. This is a full replace: omitting it clears an existing override.
  - `finishDateOverride` string, date, nullable: Manual finish date, or null to derive the finish date from the project's prints. This is a full replace: omitting it clears an existing override.

## Response `201`

Created

- PrintLogApiModelsDTOsProjectProjectDetailDto
  - `id` string, uuid
  - `name` string, nullable
  - `reference` string, nullable
  - `description` string, nullable
  - `url` string, nullable
  - `status` 1 | 2 | 3 | 4: Sent as an integer: `1` = InProgress, `2` = Complete, `3` = OnHold, `4` = Cancelled.
  - `viewStatus` 1 | 2 | 3: Sent as an integer: `1` = Public, `2` = Unlisted, `3` = Private.
  - `createdDate` string, date-time
  - `createdByUserId` integer
  - `printCount` integer
  - `totalPrintTimeInSeconds` integer
  - `totalEstimatedPrintTimeInSeconds` integer
  - `totalFilamentWeightMg` integer
  - `images` PrintLogApiModelsDTOsProjectProjectImageDto[], nullable
    - `id` integer
    - `isDefault` boolean
    - `displayOrder` integer
    - `url` string, nullable
  - `startDate` string, date
  - `finishDate` string, date, nullable
  - `startDateOverride` string, date, nullable
  - `finishDateOverride` string, date, nullable

## Other responses

- `401`: Unauthorized
- `403`: Forbidden

---

[API](https://skmtc.dev/3dprintlog/apis/3d-print-log-api.md) · [All operations](https://skmtc.dev/3dprintlog/apis/3d-print-log-api/llms.txt) · [OpenAPI document](https://skmtc.dev/3dprintlog/apis/3d-print-log-api/revisions/dfc3a4df4e38?raw)
