--- title: Project Portfolio Management API description: The Project Portfolio Management API provides endpoints to bulk import cost plans and project tasks.Creates cost plans in the Cost Plan \[cost\_plan\] table.Creates a project and associated project tasks. locale: en-US canonical_url: https://www.servicenow.com/docs/r/australia/api-reference/rest-apis/ppm-api.html release: australia product: REST APIs classification: rest-apis topic_type: concept last_updated: "2026-03-12" reading_time_minutes: 5 breadcrumb: [REST API reference, API reference, API implementation and reference] --- # Project Portfolio Management API The Project Portfolio Management API provides endpoints to bulk import cost plans and project tasks. The PPM Standard plugin \(com.snc.financial\_planning\_pmo\) is required to access this API. The calling user must have the it\_project\_manager role. This API is provided within the `now` namespace. **Parent Topic:**[REST API reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/api-reference/rest-apis/api-rest.md) ## Project Portfolio Management - POST /now/ppm/insert\_cost\_plans Creates cost plans in the Cost Plan \[cost\_plan\] table. ### URL format Default URL: `/api/now/ppm/insert_cost_plans` ### Supported request parameters |Name|Description| |----|-----------| |None| | |Name|Description| |----|-----------| |None| |
| Name | Description |
|---|---|
| end\_fiscal\_period | Required. Sys\_id of the ending fiscal period for the cost plan.Data type: String Table: Fiscal Period \[fiscal\_period\] |
| name | Required. Name of the cost plan.Data type: String |
| resource\_type | Required. Sys\_id of the resource type.Data type: String Table: Resource Type Definition \[resource\_type\_definition\] |
| start\_fiscal\_period | Required. Sys\_id of the starting fiscal period for the cost plan.Data type: String Table: Fiscal Period \[fiscal\_period\] |
| task | Required. Sys\_id of the project or demand for the cost plan.Data type: String Table: Project \[pm\_project\] or Demand \[dmn\_demand\] |
| unit\_cost | Required. Unit cost for the cost plan.Data type: String |
| Name | Description |
|---|---|
| result | Object containing information about the status of the API request.Data type: Object ``` "result": { "status": "String" } ``` |
| result.status | Status of the API request.Data type: String |
| Name | Description |
|---|---|
| child\_tasks | Array of tasks for the project. Each task is an object in the array.Data type: Array ``` "child_tasks": [ { "child_tasks": [Array], "external_id": "String", "short_description": "String" } ] ``` |
| child\_tasks.child\_tasks | Array of child tasks for the parent task. Each child task is an object in the array. Each child task can have its own array of child tasks. Data type: Array ``` "child_tasks": [ { "child_tasks": [Array], "external_id": "String", "short_description": "String" } ] ``` |
| child\_tasks.external\_id | Unique identifier of the task from the external system.Data type: String |
| child\_tasks.short\_description | Short description of the task.Data type: String |
| end\_date | End date for the project.Data type: String |
| external\_id | Unique identifier of the project from the external system.Data type: String |
| short\_description | Short description of the project.Data type: String |
| start\_date | Start date for the project.Data type: String |
| Name | Description |
|---|---|
| result | Object containing information about the status of the API request.Data type: Object ``` "result": { "status": "String" } ``` |
| result.status | Status of the API request.Data type: String |