2020-06-23 00:09:42 +05:30
---
stage: Plan
group: Project Management
2021-02-22 17:27:13 +05:30
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
2020-06-23 00:09:42 +05:30
---
2021-09-30 23:02:18 +05:30
# Project milestones API **(FREE)**
2014-09-02 18:07:02 +05:30
2021-09-30 23:02:18 +05:30
Use project [milestones ](../user/project/milestones/index.md ) with the REST API.
2021-01-29 00:20:46 +05:30
There's a separate [group milestones API ](group_milestones.md ) page.
2020-06-23 00:09:42 +05:30
2014-09-02 18:07:02 +05:30
## List project milestones
Returns a list of project milestones.
2020-04-08 14:13:33 +05:30
```plaintext
2014-09-02 18:07:02 +05:30
GET /projects/:id/milestones
2017-09-10 17:25:29 +05:30
GET /projects/:id/milestones?iids[]=42
2017-08-17 22:00:37 +05:30
GET /projects/:id/milestones?iids[]=42& iids[]=43
2016-06-02 11:05:42 +05:30
GET /projects/:id/milestones?state=active
GET /projects/:id/milestones?state=closed
2019-07-07 11:18:12 +05:30
GET /projects/:id/milestones?title=1.0
2017-08-17 22:00:37 +05:30
GET /projects/:id/milestones?search=version
2014-09-02 18:07:02 +05:30
```
2016-06-02 11:05:42 +05:30
Parameters:
2020-10-24 23:57:45 +05:30
| Attribute | Type | Required | Description |
| ---------------------------- | ------ | -------- | ----------- |
2021-09-30 23:02:18 +05:30
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-10-24 23:57:45 +05:30
| `iids[]` | integer array | optional | Return only the milestones having the given `iid` (Note: ignored if `include_parent_milestones` is set as `true` ) |
| `state` | string | optional | Return only `active` or `closed` milestones |
| `title` | string | optional | Return only the milestones having the given `title` |
| `search` | string | optional | Return only milestones with a title or description matching the provided string |
2021-11-11 11:23:49 +05:30
| `include_parent_milestones` | boolean | optional | Include group milestones from parent group and its ancestors. [Introduced ](https://gitlab.com/gitlab-org/gitlab/-/issues/196066 ) in GitLab 13.4 |
2016-06-02 11:05:42 +05:30
2020-03-13 15:44:24 +05:30
```shell
2020-06-23 00:09:42 +05:30
curl --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/milestones"
2016-06-02 11:05:42 +05:30
```
Example Response:
2014-09-02 18:07:02 +05:30
```json
[
{
"id": 12,
"iid": 3,
"project_id": 16,
"title": "10.0",
"description": "Version",
"due_date": "2013-11-29",
2017-08-17 22:00:37 +05:30
"start_date": "2013-11-10",
2014-09-02 18:07:02 +05:30
"state": "active",
"updated_at": "2013-10-02T09:24:18Z",
2020-11-24 15:15:51 +05:30
"created_at": "2013-10-02T09:24:18Z",
"expired": false
2014-09-02 18:07:02 +05:30
}
]
```
## Get single milestone
Gets a single project milestone.
2020-04-08 14:13:33 +05:30
```plaintext
2014-09-02 18:07:02 +05:30
GET /projects/:id/milestones/:milestone_id
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2017-08-17 22:00:37 +05:30
- `milestone_id` (required) - The ID of the project's milestone
2014-09-02 18:07:02 +05:30
## Create new milestone
Creates a new project milestone.
2020-04-08 14:13:33 +05:30
```plaintext
2014-09-02 18:07:02 +05:30
POST /projects/:id/milestones
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2018-03-17 18:26:18 +05:30
- `title` (required) - The title of a milestone
2014-09-02 18:07:02 +05:30
- `description` (optional) - The description of the milestone
- `due_date` (optional) - The due date of the milestone
2017-08-17 22:00:37 +05:30
- `start_date` (optional) - The start date of the milestone
2014-09-02 18:07:02 +05:30
## Edit milestone
Updates an existing project milestone.
2020-04-08 14:13:33 +05:30
```plaintext
2014-09-02 18:07:02 +05:30
PUT /projects/:id/milestones/:milestone_id
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2014-09-02 18:07:02 +05:30
- `milestone_id` (required) - The ID of a project milestone
- `title` (optional) - The title of a milestone
- `description` (optional) - The description of a milestone
- `due_date` (optional) - The due date of the milestone
2017-08-17 22:00:37 +05:30
- `start_date` (optional) - The start date of the milestone
2019-07-31 22:56:46 +05:30
- `state_event` (optional) - The state event of the milestone (close or activate)
2015-04-26 12:48:37 +05:30
2018-03-17 18:26:18 +05:30
## Delete project milestone
2021-09-30 23:02:18 +05:30
Only for users with the Developer role in the project.
2018-03-17 18:26:18 +05:30
2020-04-08 14:13:33 +05:30
```plaintext
2018-03-17 18:26:18 +05:30
DELETE /projects/:id/milestones/:milestone_id
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2018-03-17 18:26:18 +05:30
- `milestone_id` (required) - The ID of the project's milestone
2015-04-26 12:48:37 +05:30
## Get all issues assigned to a single milestone
Gets all issues assigned to a single project milestone.
2020-04-08 14:13:33 +05:30
```plaintext
2015-04-26 12:48:37 +05:30
GET /projects/:id/milestones/:milestone_id/issues
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2017-08-17 22:00:37 +05:30
- `milestone_id` (required) - The ID of a project milestone
## Get all merge requests assigned to a single milestone
Gets all merge requests assigned to a single project milestone.
2020-04-08 14:13:33 +05:30
```plaintext
2017-08-17 22:00:37 +05:30
GET /projects/:id/milestones/:milestone_id/merge_requests
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2015-04-26 12:48:37 +05:30
- `milestone_id` (required) - The ID of a project milestone
2019-07-07 11:18:12 +05:30
## Promote project milestone to a group milestone
2020-06-23 00:09:42 +05:30
> [Introduced](https://gitlab.com/gitlab-org/gitlab-foss/-/issues/53861) in GitLab 11.9
2019-07-07 11:18:12 +05:30
2021-09-30 23:02:18 +05:30
Only for users with the Developer role in the group.
2019-07-07 11:18:12 +05:30
2020-04-08 14:13:33 +05:30
```plaintext
2019-07-07 11:18:12 +05:30
POST /projects/:id/milestones/:milestone_id/promote
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2019-07-07 11:18:12 +05:30
- `milestone_id` (required) - The ID of a project milestone
2019-09-30 21:07:59 +05:30
2021-03-11 19:13:27 +05:30
## Get all burndown chart events for a single milestone **(PREMIUM)**
2019-09-30 21:07:59 +05:30
2021-03-11 19:13:27 +05:30
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/4737) in GitLab 12.1
> - Moved to GitLab Premium in 13.9.
2019-09-30 21:07:59 +05:30
Gets all burndown chart events for a single milestone.
2020-04-08 14:13:33 +05:30
```plaintext
2019-09-30 21:07:59 +05:30
GET /projects/:id/milestones/:milestone_id/burndown_events
```
Parameters:
2021-09-30 23:02:18 +05:30
- `id` (required) - The ID or [URL-encoded path of the project ](index.md#namespaced-path-encoding ) owned by the authenticated user
2019-09-30 21:07:59 +05:30
- `milestone_id` (required) - The ID of a project milestone