---
title: "Create a phase"
method: POST
path: "/1.0/phases"
tags: ["Phases"]
---

# Create a phase

`POST /1.0/phases`

## Query parameters

- `includeFields` string[]
- `includeAllFields` boolean

## Request body

- PhasePublicAPIRequestEntity
  - `phaseId` integer — The `identifier` of the phase is generated by the system and can be used to identify the phase globally.
  - `phaseName` string, required — The `name` of the phase. The name specified will be displayed everywhere else and can be used for filtering purposes.
  - `project` ProjectPublicAPIPhaseRequestEntity, required — The `project` associated with phase needs to be specified here and it is mandatory for the phase to get created and map accordingly.
    - `projectId` integer, required — The `identifier` of the project is generated by the system and can be used to identify the project globally.
  - `startDate` string, required — On this date the phase's execution officially begins. The start date is required. The format for the start date is _YYYY-MM-DD_.
  - `dueDate` string, required — The day on which the phase's execution is planned to be completed. The due date is required and cannot be left blank. The `dueDate` must be on or after the given `startDate`. The format for the due date is _YYYY-MM-DD_.
  - `status` PhaseStatusPublicRequest — The value of the phase status can be specified here and this is essential to keep track of the phase.
    - `value` integer — The value of the status field.
  - `private` boolean — Describes the privacy of the phase i.e. if it is private or shared.

## Response `201`

The resource was successfully created in the database.

- PhasePublicAPIResponseEntity
  - `phaseId` integer — The phases's unique, system-generated identifier, which can be used to identify the phase globally.
  - `phaseName` string — The name of the phase.
  - `project` ProjectPublicAPIPhaseResponseEntity — The `project` associated with phase.
    - `projectId` integer — The project's unique, system-generated identifier, which can be used to identify the project globally.
    - `projectName` string — The name of the project.
  - `startDate` string — On this date the phase's execution officially begins. . The due date is mandatory. The format for the start date is _YYYY-MM-DD_.
  - `dueDate` string — The day on which the phase's execution is planned to be completed. The due date is mandatory. The dueDate must be on or after the given startDate. The format for the due date is _YYYY-MM-DD_.
  - `startDateActual` string — The date on which the phase status is changed to in progress. The status can be either the default said status (in progress) or custom statuses that are categorised as in progress. It can be null for phases that have not yet begun. The format for the actual start date is _YYYY-MM-DD_.
  - `dueDateActual` string — The date when phase status gets changed to completed. The status can be either the default provided status (completed) or a custom status that is labelled under the Completed category. It will be null if the phase is yet to be completed. The format for the actual due date is _YYYY-MM-DD_.
  - `createdAt` integer — The time when the phase was created. The referenced time will be in epoch millis.
  - `updatedAt` integer — The time when the phase was last updated. Any changes that's related to the phase are captured and specified here in epoch millis.
  - `createdBy` PhaseCreatedByUserPublicAPI — The team member who created the phase.
    - `emailId` string — The user's email identifier.
    - `userId` integer — The unique identifier for the user.
    - `firstName` string — The first name of the user.
    - `lastName` string — The last name of the user.
  - `updatedBy` PhaseUpdatedByUserPublicAPI — The team member who updated the phase
    - `emailId` string — The user's email identifier.
    - `userId` integer — The unique identifier for the user.
    - `firstName` string — The first name of the user.
    - `lastName` string — The last name of the user.
  - `status` PhaseStatusPublicResponse — The phase status value along with the label will be present here.
    - `value` integer — The value of the status field is the unique identifier for status fields.
    - `label` string — The label is the name of the status.
  - `private` boolean — Describes the privacy of the phase i.e. if it is private or shared.

## Other responses

- `400` — This error typically happens when the request payload contains an error. If you want to make sure that the request's parameters are named correctly and are the right data types, you can examine the request's syntax.
- `401` — You see this error when trying to access this resource without being authenticated. Check the API request header to make sure it is not empty and has a valid api-key that you acquired from the Rocketlane API Settings tab.

---

[API](https://skmtc.net/rocketlane/apis/rocketlane-api.md) · [All operations](https://skmtc.net/rocketlane/apis/rocketlane-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rocketlane/rocketlane-api/revisions/1e8ba619e741/schema)
