---
title: "Create plan"
method: POST
path: "/rest/api/3/plans/plan"
tags: ["Plans"]
---

# Create plan

`POST /rest/api/3/plans/plan`

Creates a plan.

**[Permissions](#permissions) required:** *Administer Jira* [global permission](https://confluence.atlassian.com/x/x4dKLg).

## Query parameters

- `useGroupId` boolean

## Request body

- CreatePlanRequest
  - `crossProjectReleases` CreateCrossProjectReleaseRequest[] — The cross-project releases to include in the plan.
    - `name` string, required — The cross-project release name.
    - `releaseIds` integer[] — The IDs of the releases to include in the cross-project release.
  - `customFields` CreateCustomFieldRequest[] — The custom fields for the plan.
    - `customFieldId` integer, required — The custom field ID.
    - `filter` boolean — Allows filtering issues based on their values for the custom field.
  - `exclusionRules` CreateExclusionRulesRequest
    - `issueIds` integer[] — The IDs of the issues to exclude from the plan.
    - `issueTypeIds` integer[] — The IDs of the issue types to exclude from the plan.
    - `numberOfDaysToShowCompletedIssues` integer — Issues completed this number of days ago will be excluded from the plan.
    - `releaseIds` integer[] — The IDs of the releases to exclude from the plan.
    - `workStatusCategoryIds` integer[] — The IDs of the work status categories to exclude from the plan.
    - `workStatusIds` integer[] — The IDs of the work statuses to exclude from the plan.
  - `issueSources` CreateIssueSourceRequest[], required — The issue sources to include in the plan.
    - `type` 'Board' | 'Project' | 'Filter', required — The issue source type. This must be "Board", "Project" or "Filter".
    - `value` integer, required — The issue source value. This must be a board ID if the type is "Board", a project ID if the type is "Project" or a filter ID if the type is "Filter".
  - `leadAccountId` string — The account ID of the plan lead.
  - `name` string, required — The plan name.
  - `permissions` CreatePermissionRequest[] — The permissions for the plan.
    - `holder` CreatePermissionHolderRequest, required
      - `type` 'Group' | 'AccountId', required — The permission holder type. This must be "Group" or "AccountId".
      - `value` string, required — The permission holder value. This must be a group name if the type is "Group" or an account ID if the type is "AccountId".
    - `type` 'View' | 'Edit', required — The permission type. This must be "View" or "Edit".
  - `scheduling` CreateSchedulingRequest, required
    - `dependencies` 'Sequential' | 'Concurrent' — The dependencies for the plan. This must be "Sequential" or "Concurrent".
    - `endDate` CreateDateFieldRequest
      - `dateCustomFieldId` integer — A date custom field ID. This is required if the type is "DateCustomField".
      - `type` 'DueDate' | 'TargetStartDate' | 'TargetEndDate' | 'DateCustomField', required — The date field type. This must be "DueDate", "TargetStartDate", "TargetEndDate" or "DateCustomField".
    - `estimation` 'StoryPoints' | 'Days' | 'Hours', required — The estimation unit for the plan. This must be "StoryPoints", "Days" or "Hours".
    - `inferredDates` 'None' | 'SprintDates' | 'ReleaseDates' — The inferred dates for the plan. This must be "None", "SprintDates" or "ReleaseDates".
    - `startDate` CreateDateFieldRequest
      - `dateCustomFieldId` integer — A date custom field ID. This is required if the type is "DateCustomField".
      - `type` 'DueDate' | 'TargetStartDate' | 'TargetEndDate' | 'DateCustomField', required — The date field type. This must be "DueDate", "TargetStartDate", "TargetEndDate" or "DateCustomField".

## Response `201`

Returned if the request is successful.

- integer

## Other responses

- `400` — Returned if the request is not valid.
- `401` — Returned if the user is not logged in.
- `403` — Returned if the site has no premium edition of Jira or if the user does not have the Administer Jira global permission.

---

[API](https://skmtc.net/atlassian/apis/the-jira-cloud-platform-rest-api-2.md) · [All operations](https://skmtc.net/atlassian/apis/the-jira-cloud-platform-rest-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlassian/the-jira-cloud-platform-rest-api-2/versions/ec7f275dfee5/schema)
