2020-05-26 23:08:26 -04:00
---
stage: Plan
group: Project Management
2020-11-26 01:09:20 -05:00
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-05-26 23:08:26 -04:00
---
2021-06-23 11:07:50 -04:00
# Group milestones API **(FREE)**
2017-07-12 15:58:48 -04:00
2021-06-23 11:07:50 -04:00
Use the group [milestones ](../user/project/milestones/index.md ) using the REST API.
2020-11-08 22:09:03 -05:00
There's a separate [project milestones API ](milestones.md ) page.
2020-05-29 11:08:14 -04:00
2017-07-12 15:58:48 -04:00
## List group milestones
Returns a list of group milestones.
2020-02-27 04:09:01 -05:00
```plaintext
2017-07-12 15:58:48 -04:00
GET /groups/:id/milestones
2017-08-03 02:35:41 -04:00
GET /groups/:id/milestones?iids[]=42
2017-07-12 15:58:48 -04:00
GET /groups/:id/milestones?iids[]=42& iids[]=43
GET /groups/:id/milestones?state=active
GET /groups/:id/milestones?state=closed
2019-03-27 05:01:07 -04:00
GET /groups/:id/milestones?title=1.0
2017-07-12 15:58:48 -04:00
GET /groups/:id/milestones?search=version
```
Parameters:
2020-08-19 08:10:17 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-08-19 08:10:17 -04:00
| `iids[]` | integer array | no | Return only the milestones having the given `iid` (Note: ignored if `include_parent_milestones` is set as `true` ) |
| `state` | string | no | Return only `active` or `closed` milestones |
| `title` | string | no | Return only the milestones having the given `title` |
| `search` | string | no | Return only milestones with a title or description matching the provided string |
| `include_parent_milestones` | boolean | optional | Include milestones from parent group and its ancestors. Introduced in [GitLab 13.4 ](https://gitlab.com/gitlab-org/gitlab/-/issues/196066 ) |
2017-07-12 15:58:48 -04:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/groups/5/milestones"
2017-07-12 15:58:48 -04:00
```
Example Response:
```json
[
{
"id": 12,
"iid": 3,
"group_id": 16,
"title": "10.0",
"description": "Version",
"due_date": "2013-11-29",
"start_date": "2013-11-10",
"state": "active",
"updated_at": "2013-10-02T09:24:18Z",
2020-04-28 20:09:38 -04:00
"created_at": "2013-10-02T09:24:18Z",
2020-08-21 11:10:03 -04:00
"expired": false,
2020-04-28 20:09:38 -04:00
"web_url": "https://gitlab.com/groups/gitlab-org/-/milestones/42"
2017-07-12 15:58:48 -04:00
}
]
```
## Get single milestone
Gets a single group milestone.
2020-02-27 04:09:01 -05:00
```plaintext
2017-07-12 15:58:48 -04:00
GET /groups/:id/milestones/:milestone_id
```
Parameters:
2020-04-28 20:09:38 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-04-28 20:09:38 -04:00
| `milestone_id` | integer | yes | The ID of the group milestone |
2017-07-12 15:58:48 -04:00
## Create new milestone
Creates a new group milestone.
2020-02-27 04:09:01 -05:00
```plaintext
2017-07-12 15:58:48 -04:00
POST /groups/:id/milestones
```
Parameters:
2020-04-28 20:09:38 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-04-28 20:09:38 -04:00
| `title` | string | yes | The title of a milestone |
| `description` | string | no | The description of the milestone |
2021-08-13 20:10:05 -04:00
| `due_date` | date | no | The due date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
| `start_date` | date | no | The start date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
2017-07-12 15:58:48 -04:00
## Edit milestone
Updates an existing group milestone.
2020-02-27 04:09:01 -05:00
```plaintext
2017-07-12 15:58:48 -04:00
PUT /groups/:id/milestones/:milestone_id
```
Parameters:
2020-04-28 20:09:38 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-04-28 20:09:38 -04:00
| `milestone_id` | integer | yes | The ID of a group milestone |
| `title` | string | no | The title of a milestone |
| `description` | string | no | The description of a milestone |
2021-08-13 20:10:05 -04:00
| `due_date` | date | no | The due date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
| `start_date` | date | no | The start date of the milestone, in ISO 8601 format (`YYYY-MM-DD`) |
2020-04-28 20:09:38 -04:00
| `state_event` | string | no | The state event of the milestone _(`close` or `activate`)_ |
2017-07-12 15:58:48 -04:00
2018-08-06 15:02:52 -04:00
## Delete group milestone
2021-07-08 14:09:32 -04:00
Only for users with the Developer role in the group.
2018-08-06 15:02:52 -04:00
2020-02-27 04:09:01 -05:00
```plaintext
2018-08-06 15:02:52 -04:00
DELETE /groups/:id/milestones/:milestone_id
```
Parameters:
2020-04-28 20:09:38 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-04-28 20:09:38 -04:00
| `milestone_id` | integer | yes | The ID of the group's milestone |
2018-08-06 15:02:52 -04:00
2017-07-12 15:58:48 -04:00
## Get all issues assigned to a single milestone
Gets all issues assigned to a single group milestone.
2020-02-27 04:09:01 -05:00
```plaintext
2017-07-12 15:58:48 -04:00
GET /groups/:id/milestones/:milestone_id/issues
```
Parameters:
2020-04-28 20:09:38 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-04-28 20:09:38 -04:00
| `milestone_id` | integer | yes | The ID of a group milestone |
2017-07-12 15:58:48 -04:00
2021-06-16 11:10:08 -04:00
Currently, this API endpoint doesn't return issues from any subgroups.
If you want to get all the milestones' issues, you can instead use the
[List issues API ](issues.md#list-issues ) and filter for a
particular milestone (for example, `GET /issues?milestone=1.0.0&state=opened` ).
2017-07-12 15:58:48 -04:00
## Get all merge requests assigned to a single milestone
Gets all merge requests assigned to a single group milestone.
2020-02-27 04:09:01 -05:00
```plaintext
2017-07-12 15:58:48 -04:00
GET /groups/:id/milestones/:milestone_id/merge_requests
```
Parameters:
2020-04-28 20:09:38 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-04-28 20:09:38 -04:00
| `milestone_id` | integer | yes | The ID of a group milestone |
2017-08-24 03:17:57 -04:00
2021-02-08 13:09:49 -05:00
## Get all burndown chart events for a single milestone **(PREMIUM)**
2019-07-03 05:32:54 -04:00
2021-02-08 13:09:49 -05:00
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/4737) in GitLab 12.1
> - Moved to GitLab Premium in 13.9.
2019-07-03 05:32:54 -04:00
Get all burndown chart events for a single milestone.
2020-02-27 04:09:01 -05:00
```plaintext
2019-07-03 05:32:54 -04:00
GET /groups/:id/milestones/:milestone_id/burndown_events
```
Parameters:
2020-04-28 20:09:38 -04:00
| Attribute | Type | Required | Description |
| --------- | ------ | -------- | ----------- |
2021-06-28 11:08:03 -04:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](index.md#namespaced-path-encoding ) owned by the authenticated user |
2020-04-28 20:09:38 -04:00
| `milestone_id` | integer | yes | The ID of a group milestone |