# Create project plan item **POST /projects/{projectId}/planItems** Manage a project's plan items, i.e. resource roles, cost or revenue items, milestones and phases. ## Servers - https://open.api.missionx.ai/v2: https://open.api.missionx.ai/v2 () ## Authentication methods - O auth2 ## Parameters #### Path parameters - **projectId** (string) The project's unique document ID. #### Query parameters - **notify** (string) If set to `0` or `false`, then all notifications associated with this operation will be disabled. This includes push notifications, emails and asynchronous UI updates. Useful for bulk operations. ## Body parameters Content-type: application/json - **type** (string) Determines how a plan item behaves, being tracked and/or affects budgeting. Once set, it cannot be changed. - **customId** (string) A custom identifier for internal reference by your system (not used by missionX). - **startDate** (string(date-time)) The start date in ISOString format. See [.toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString). If omitted, defaults to the project's start date. - **endDate** (string(date-time)) The end date in ISOString format. See [.toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString). If omitted, defaults to the project's end date. - **person** (string) If the planItem is of type `role`, this is the reference to the organization's person `_id` value. This is the `people[].person._id` value. - **departments** (array[string(ObjectId)]) One or more departments this role is associated with. References the organization's departments, i.e. `org.departments[]._id`. - **hoursNeeded** (number(integer)) The total hours required for this role. - **role** (string(ObjectId)) A role associated with this plan item. References the organization's role, i.e. `org.roles[]._id`. - **roleTitle** (string) The title of the role. E.g. Director of Sales ## Responses ### 200: Successful response #### Body Parameters: application/json (object) - **archived** (boolean) Indicates whether the document has been archived. - **_id** (string(ObjectId)) The unique document ID. - **createdBy** (string(ObjectId)) The creator's unique document ID. - **createdAt** (string(date-time)) The date the document was created in ISOString format. See [.toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString). - **updatedAt** (string(date-time)) The date the document was last updated in ISOString format. See [.toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString). - **type** (string) Determines how a plan item behaves, being tracked and/or affects budgeting. Once set, it cannot be changed. - **customId** (string) A custom identifier for internal reference by your system (not used by missionX). - **startDate** (string(date-time)) The start date in ISOString format. See [.toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString). If omitted, defaults to the project's start date. - **endDate** (string(date-time)) The end date in ISOString format. See [.toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString). If omitted, defaults to the project's end date. - **project** (string(ObjectId)) Reference to the project it belongs to. - **person** (string) If the planItem is of type `role`, this is the reference to the organization's person `_id` value. This is the `people[].person._id` value. - **departments** (array[string(ObjectId)]) One or more departments this role is associated with. References the organization's departments, i.e. `org.departments[]._id`. - **hoursNeeded** (number(integer)) The total hours required for this role. - **role** (string(ObjectId)) A role associated with this plan item. References the organization's role, i.e. `org.roles[]._id`. - **roleTitle** (string) The title of the role. E.g. Director of Sales ### 400: Bad Request #### Body Parameters: application/json (object) - **message** (string) An error message. - **code** (string) An error code to handle specific error responses. - **data** (object) Optionally, additional data to help handle the error. ### 500: Internal Server Error #### Body Parameters: application/json (object) - **message** (string) An error message. - **code** (string) An error code to handle specific error responses. - **data** (object) Optionally, additional data to help handle the error. [Powered by Bump.sh](https://bump.sh)