2020-10-28 11:08:49 -04:00
---
2020-11-17 10:09:28 -05:00
stage: Plan
group: Project Management
2020-10-28 11:08:49 -04: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/#designated-technical-writers
---
2017-05-18 04:49:03 -04:00
# Notes API
2014-05-27 08:12:15 -04:00
2019-05-29 19:25:19 -04:00
Notes are comments on:
- Snippets
- Issues
- Merge requests
2019-07-08 04:50:38 -04:00
- Epics ** (ULTIMATE)**
2013-02-20 16:17:05 -05:00
2020-07-28 08:09:49 -04:00
This includes system notes, which are notes about changes to the object (for example, when an
assignee changes, there will be a corresponding system note).
## Resource events
2020-09-11 11:08:30 -04:00
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/38096) in GitLab 13.3 for state, milestone, and weight events.
> - [Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/40850) in [GitLab Starter](https://about.gitlab.com/pricing/) 13.4 for iteration events.
2020-07-28 08:09:49 -04:00
Some system notes are not part of this API, but are recorded as separate events:
- [Resource label events ](resource_label_events.md )
- [Resource state events ](resource_state_events.md )
- [Resource milestone events ](resource_milestone_events.md )
- [Resource weight events ](resource_weight_events.md ) ** (STARTER)**
2020-09-11 11:08:30 -04:00
- [Resource iteration events ](resource_iteration_events.md ) ** (STARTER)**
2019-04-16 12:31:23 -04:00
2019-04-15 19:35:20 -04:00
## Notes pagination
By default, `GET` requests return 20 results at a time because the API results
are paginated.
Read more on [pagination ](README.md#pagination ).
2013-02-20 16:17:05 -05:00
## Issues
### List project issue notes
2015-12-25 11:13:55 -05:00
Gets a list of all notes for a single issue.
2012-11-29 15:32:05 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
GET /projects/:id/issues/:issue_iid/notes
2017-11-29 11:22:22 -05:00
GET /projects/:id/issues/:issue_iid/notes?sort=asc& order_by=updated_at
2012-11-29 15:32:05 -05:00
```
2017-11-29 11:22:22 -05:00
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
2018-02-28 02:48:23 -05:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2017-11-29 11:22:22 -05:00
| `issue_iid` | integer | yes | The IID of an issue
| `sort` | string | no | Return issue notes sorted in `asc` or `desc` order. Default is `desc`
| `order_by` | string | no | Return issue notes ordered by `created_at` or `updated_at` fields. Default is `created_at`
2012-11-29 15:32:05 -05:00
2013-10-02 06:08:07 -04:00
```json
[
{
2014-04-05 02:36:47 -04:00
"id": 302,
2016-11-23 01:55:23 -05:00
"body": "closed",
2014-04-05 02:36:47 -04:00
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
2013-10-02 06:08:07 -04:00
},
2015-08-12 15:39:58 -04:00
"created_at": "2013-10-02T09:22:45Z",
2016-04-12 06:32:34 -04:00
"updated_at": "2013-10-02T10:22:45Z",
2015-11-21 15:36:31 -05:00
"system": true,
2015-12-04 06:21:06 -05:00
"noteable_id": 377,
2017-08-08 07:31:55 -04:00
"noteable_type": "Issue",
2018-05-01 08:39:44 -04:00
"noteable_iid": 377,
2020-03-30 14:08:07 -04:00
"resolvable": false,
"confidential": false
2013-10-02 06:08:07 -04:00
},
{
2014-04-05 02:36:47 -04:00
"id": 305,
"body": "Text of the comment\r\n",
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
2013-10-02 06:08:07 -04:00
},
2015-08-12 15:39:58 -04:00
"created_at": "2013-10-02T09:56:03Z",
2016-04-12 06:32:34 -04:00
"updated_at": "2013-10-02T09:56:03Z",
2015-11-21 15:36:31 -05:00
"system": true,
2015-12-04 06:21:06 -05:00
"noteable_id": 121,
2017-08-08 07:31:55 -04:00
"noteable_type": "Issue",
2018-05-01 08:39:44 -04:00
"noteable_iid": 121,
2020-03-30 14:08:07 -04:00
"resolvable": false,
"confidential": true
2013-10-02 06:08:07 -04:00
}
]
```
2013-02-20 16:17:05 -05: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/projects/5/issues/11/notes"
2018-02-28 02:48:23 -05:00
```
2013-02-20 16:17:05 -05:00
### Get single issue note
Returns a single note for a specific project issue
2012-11-29 15:32:05 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
GET /projects/:id/issues/:issue_iid/notes/:note_id
2012-11-29 15:32:05 -05:00
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2017-03-27 09:01:45 -04:00
- `issue_iid` (required) - The IID of a project issue
2014-08-15 03:03:18 -04:00
- `note_id` (required) - The ID of an issue note
2012-11-29 15:32:05 -05: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/projects/5/issues/11/notes/1"
2018-02-28 02:48:23 -05:00
```
2013-02-20 16:17:05 -05:00
### Create new issue note
2012-12-01 05:20:45 -05:00
2018-02-28 02:48:23 -05:00
Creates a new note to a single project issue.
2012-12-01 05:20:45 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
POST /projects/:id/issues/:issue_iid/notes
2012-12-01 05:20:45 -05:00
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2018-10-16 16:32:12 -04:00
- `issue_iid` (required) - The IID of an issue
2019-10-20 17:06:17 -04:00
- `body` (required) - The content of a note. Limited to 1,000,000 characters.
2020-07-15 11:09:21 -04:00
- `confidential` (optional) - The confidential flag of a note. Default is false.
2017-12-06 06:07:08 -05:00
- `created_at` (optional) - Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z (requires admin or project/group owner rights)
2013-02-20 16:17:05 -05:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request POST --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note"
2018-02-28 02:48:23 -05:00
```
2014-09-02 11:12:13 -04:00
### Modify existing issue note
Modify existing note of an issue.
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
PUT /projects/:id/issues/:issue_iid/notes/:note_id
2014-09-02 11:12:13 -04:00
```
Parameters:
2020-07-29 17:09:52 -04:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding ).
- `issue_iid` (required) - The IID of an issue.
- `note_id` (required) - The ID of a note.
- `body` (optional) - The content of a note. Limited to 1,000,000 characters.
- `confidential` (optional) - The confidential flag of a note.
2014-09-02 11:12:13 -04:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request PUT --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes?body=note"
2018-02-28 02:48:23 -05:00
```
2016-04-06 13:04:17 -04:00
### Delete an issue note
2016-04-05 19:21:02 -04:00
2016-11-24 12:28:52 -05:00
Deletes an existing note of an issue.
2016-04-05 19:21:02 -04:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
DELETE /projects/:id/issues/:issue_iid/notes/:note_id
2016-04-05 19:21:02 -04:00
```
Parameters:
2016-04-06 13:04:17 -04:00
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
2018-02-28 02:48:23 -05:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding ) |
2017-03-27 09:01:45 -04:00
| `issue_iid` | integer | yes | The IID of an issue |
2016-04-06 13:04:17 -04:00
| `note_id` | integer | yes | The ID of a note |
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request DELETE --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/issues/11/notes/636"
2016-04-06 13:04:17 -04:00
```
2013-02-20 16:17:05 -05:00
## Snippets
### List all snippet notes
Gets a list of all notes for a single snippet. Snippet notes are comments users can post to a snippet.
2012-11-29 15:32:05 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2013-02-20 16:17:05 -05:00
GET /projects/:id/snippets/:snippet_id/notes
2017-11-29 11:22:22 -05:00
GET /projects/:id/snippets/:snippet_id/notes?sort=asc& order_by=updated_at
2012-11-29 15:32:05 -05:00
```
2017-11-29 11:22:22 -05:00
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
2018-02-28 02:48:23 -05:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2017-11-29 11:22:22 -05:00
| `snippet_id` | integer | yes | The ID of a project snippet
| `sort` | string | no | Return snippet notes sorted in `asc` or `desc` order. Default is `desc`
| `order_by` | string | no | Return snippet notes ordered by `created_at` or `updated_at` fields. Default is `created_at`
2012-11-29 15:32:05 -05: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/projects/5/snippets/11/notes"
2018-02-28 02:48:23 -05:00
```
2013-02-20 16:17:05 -05:00
### Get single snippet note
2012-11-29 15:32:05 -05:00
2013-02-20 16:17:05 -05:00
Returns a single note for a given snippet.
2012-11-29 15:32:05 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2013-02-20 16:17:05 -05:00
GET /projects/:id/snippets/:snippet_id/notes/:note_id
2012-11-29 15:32:05 -05:00
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2014-08-15 03:03:18 -04:00
- `snippet_id` (required) - The ID of a project snippet
2018-01-19 05:09:59 -05:00
- `note_id` (required) - The ID of a snippet note
2012-11-29 15:32:05 -05:00
2013-10-02 06:08:07 -04:00
```json
{
2014-04-05 02:36:47 -04:00
"id": 52,
"title": "Snippet",
"file_name": "snippet.rb",
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
2013-10-02 06:08:07 -04:00
},
2016-03-09 13:25:39 -05:00
"expires_at": null,
2014-04-05 02:36:47 -04:00
"updated_at": "2013-10-02T07:34:20Z",
"created_at": "2013-10-02T07:34:20Z"
2013-10-02 06:08:07 -04:00
}
```
2013-02-20 16:17:05 -05: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/projects/5/snippets/11/notes/11"
2018-02-28 02:48:23 -05:00
```
2013-02-20 16:17:05 -05:00
### Create new snippet note
Creates a new note for a single snippet. Snippet notes are comments users can post to a snippet.
2016-09-16 08:30:28 -04:00
If you create a note where the body only contains an Award Emoji, you'll receive this object back.
2012-11-29 18:52:56 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2013-02-20 16:17:05 -05:00
POST /projects/:id/snippets/:snippet_id/notes
2012-11-29 18:52:56 -05:00
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2014-09-02 11:12:13 -04:00
- `snippet_id` (required) - The ID of a snippet
2019-10-20 17:06:17 -04:00
- `body` (required) - The content of a note. Limited to 1,000,000 characters.
2018-07-12 05:26:09 -04:00
- `created_at` (optional) - Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z
2014-09-02 11:12:13 -04:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request POST --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note"
2018-02-28 02:48:23 -05:00
```
2014-09-02 11:12:13 -04:00
### Modify existing snippet note
Modify existing note of a snippet.
2020-02-27 04:09:01 -05:00
```plaintext
2014-09-02 11:12:13 -04:00
PUT /projects/:id/snippets/:snippet_id/notes/:note_id
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2014-09-02 11:12:13 -04:00
- `snippet_id` (required) - The ID of a snippet
- `note_id` (required) - The ID of a note
2019-10-20 17:06:17 -04:00
- `body` (required) - The content of a note. Limited to 1,000,000 characters.
2013-02-20 16:17:05 -05:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request PUT --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/snippets/11/notes?body=note"
2018-02-28 02:48:23 -05:00
```
2016-04-06 13:04:17 -04:00
### Delete a snippet note
2016-04-05 19:21:02 -04:00
2016-11-24 12:28:52 -05:00
Deletes an existing note of a snippet.
2016-04-05 19:21:02 -04:00
2020-02-27 04:09:01 -05:00
```plaintext
2016-04-05 19:21:02 -04:00
DELETE /projects/:id/snippets/:snippet_id/notes/:note_id
```
Parameters:
2016-04-06 13:04:17 -04:00
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
2018-02-28 02:48:23 -05:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding ) |
2016-04-06 13:04:17 -04:00
| `snippet_id` | integer | yes | The ID of a snippet |
| `note_id` | integer | yes | The ID of a note |
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request DELETE --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/snippets/52/notes/1659"
2016-04-06 13:04:17 -04:00
```
2013-02-20 16:17:05 -05:00
## Merge Requests
### List all merge request notes
Gets a list of all notes for a single merge request.
2012-11-29 15:32:05 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
GET /projects/:id/merge_requests/:merge_request_iid/notes
2017-11-29 11:22:22 -05:00
GET /projects/:id/merge_requests/:merge_request_iid/notes?sort=asc& order_by=updated_at
2012-11-29 15:32:05 -05:00
```
2017-11-29 11:22:22 -05:00
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
2018-02-28 02:48:23 -05:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2017-11-29 11:22:22 -05:00
| `merge_request_iid` | integer | yes | The IID of a project merge request
| `sort` | string | no | Return merge request notes sorted in `asc` or `desc` order. Default is `desc`
| `order_by` | string | no | Return merge request notes ordered by `created_at` or `updated_at` fields. Default is `created_at`
2012-11-29 15:32:05 -05: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/projects/5/merge_requests/11/notes"
2018-02-28 02:48:23 -05:00
```
2013-02-20 16:17:05 -05:00
### Get single merge request note
Returns a single note for a given merge request.
2012-11-29 15:32:05 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
GET /projects/:id/merge_requests/:merge_request_iid/notes/:note_id
2012-11-29 15:32:05 -05:00
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2017-03-27 09:01:45 -04:00
- `merge_request_iid` (required) - The IID of a project merge request
2014-08-15 03:03:18 -04:00
- `note_id` (required) - The ID of a merge request note
2013-02-20 16:17:05 -05:00
2013-10-02 06:08:07 -04:00
```json
{
2014-04-05 02:36:47 -04:00
"id": 301,
"body": "Comment for MR",
"attachment": null,
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
2013-10-02 06:08:07 -04:00
},
2015-12-04 06:21:06 -05:00
"created_at": "2013-10-02T08:57:14Z",
2016-04-12 06:32:34 -04:00
"updated_at": "2013-10-02T08:57:14Z",
2015-12-04 06:21:06 -05:00
"system": false,
"noteable_id": 2,
2017-08-08 07:31:55 -04:00
"noteable_type": "MergeRequest",
2018-05-01 08:39:44 -04:00
"noteable_iid": 2,
2020-03-30 14:08:07 -04:00
"resolvable": false,
"confidential": false
2013-10-02 06:08:07 -04:00
}
```
2013-02-20 16:17:05 -05: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/projects/5/merge_requests/11/notes/1"
2018-02-28 02:48:23 -05:00
```
2013-02-20 16:17:05 -05:00
### Create new merge request note
Creates a new note for a single merge request.
2016-09-16 08:30:28 -04:00
If you create a note where the body only contains an Award Emoji, you'll receive
this object back.
2013-02-20 16:17:05 -05:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
POST /projects/:id/merge_requests/:merge_request_iid/notes
2013-02-20 16:17:05 -05:00
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2017-03-27 09:01:45 -04:00
- `merge_request_iid` (required) - The IID of a merge request
2019-10-20 17:06:17 -04:00
- `body` (required) - The content of a note. Limited to 1,000,000 characters.
2018-07-12 05:26:09 -04:00
- `created_at` (optional) - Date time string, ISO 8601 formatted, e.g. 2016-03-11T03:45:40Z
2014-09-02 11:12:13 -04:00
### Modify existing merge request note
Modify existing note of a merge request.
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
PUT /projects/:id/merge_requests/:merge_request_iid/notes/:note_id
2014-09-02 11:12:13 -04:00
```
Parameters:
2018-02-28 02:48:23 -05:00
- `id` (required) - The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding )
2017-03-27 09:01:45 -04:00
- `merge_request_iid` (required) - The IID of a merge request
2014-09-02 11:12:13 -04:00
- `note_id` (required) - The ID of a note
2019-10-20 17:06:17 -04:00
- `body` (required) - The content of a note. Limited to 1,000,000 characters.
2016-04-05 19:21:02 -04:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request PUT --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/merge_requests/11/notes?body=note"
2018-02-28 02:48:23 -05:00
```
2016-04-06 13:04:17 -04:00
### Delete a merge request note
2016-04-05 19:21:02 -04:00
2016-11-24 12:28:52 -05:00
Deletes an existing note of a merge request.
2016-04-05 19:21:02 -04:00
2020-02-27 04:09:01 -05:00
```plaintext
2017-03-27 09:01:45 -04:00
DELETE /projects/:id/merge_requests/:merge_request_iid/notes/:note_id
2016-04-05 19:21:02 -04:00
```
Parameters:
2016-04-06 13:04:17 -04:00
| Attribute | Type | Required | Description |
| --------- | ---- | -------- | ----------- |
2018-02-28 02:48:23 -05:00
| `id` | integer/string | yes | The ID or [URL-encoded path of the project ](README.md#namespaced-path-encoding ) |
2017-03-27 09:01:45 -04:00
| `merge_request_iid` | integer | yes | The IID of a merge request |
2016-04-06 13:04:17 -04:00
| `note_id` | integer | yes | The ID of a note |
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request DELETE --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/merge_requests/7/notes/1602"
2016-04-06 13:04:17 -04:00
```
2019-05-29 19:25:19 -04:00
2019-07-08 04:50:38 -04:00
## Epics **(ULTIMATE)**
2019-05-29 19:25:19 -04:00
### List all epic notes
Gets a list of all notes for a single epic. Epic notes are comments users can post to an epic.
2020-02-27 04:09:01 -05:00
```plaintext
2019-05-29 19:25:19 -04:00
GET /groups/:id/epics/:epic_id/notes
GET /groups/:id/epics/:epic_id/notes?sort=asc& order_by=updated_at
```
| Attribute | Type | Required | Description |
| ------------------- | ---------------- | ---------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](README.md#namespaced-path-encoding ) |
| `epic_id` | integer | yes | The ID of a group epic |
| `sort` | string | no | Return epic notes sorted in `asc` or `desc` order. Default is `desc` |
| `order_by` | string | no | Return epic notes ordered by `created_at` or `updated_at` fields. Default is `created_at` |
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/epics/11/notes"
2019-05-29 19:25:19 -04:00
```
### Get single epic note
Returns a single note for a given epic.
2020-02-27 04:09:01 -05:00
```plaintext
2019-05-29 19:25:19 -04:00
GET /groups/:id/epics/:epic_id/notes/:note_id
```
Parameters:
| Attribute | Type | Required | Description |
| --------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](README.md#namespaced-path-encoding ) |
| `epic_id` | integer | yes | The ID of an epic |
| `note_id` | integer | yes | The ID of a note |
```json
{
"id": 52,
"title": "Epic",
"file_name": "epic.rb",
"author": {
"id": 1,
"username": "pipin",
"email": "admin@example.com",
"name": "Pip",
"state": "active",
"created_at": "2013-09-30T13:46:01Z"
},
"expires_at": null,
"updated_at": "2013-10-02T07:34:20Z",
2020-03-30 14:08:07 -04:00
"created_at": "2013-10-02T07:34:20Z",
"confidential": false
2019-05-29 19:25:19 -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/epics/11/notes/1"
2019-05-29 19:25:19 -04:00
```
### Create new epic note
Creates a new note for a single epic. Epic notes are comments users can post to an epic.
If you create a note where the body only contains an Award Emoji, you'll receive this object back.
2020-02-27 04:09:01 -05:00
```plaintext
2019-05-29 19:25:19 -04:00
POST /groups/:id/epics/:epic_id/notes
```
Parameters:
| Attribute | Type | Required | Description |
| --------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](README.md#namespaced-path-encoding ) |
| `epic_id` | integer | yes | The ID of an epic |
2019-10-20 17:06:17 -04:00
| `body` | string | yes | The content of a note. Limited to 1,000,000 characters. |
2019-05-29 19:25:19 -04:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request POST --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note"
2019-05-29 19:25:19 -04:00
```
### Modify existing epic note
Modify existing note of an epic.
2020-02-27 04:09:01 -05:00
```plaintext
2019-05-29 19:25:19 -04:00
PUT /groups/:id/epics/:epic_id/notes/:note_id
```
Parameters:
| Attribute | Type | Required | Description |
| --------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](README.md#namespaced-path-encoding ) |
| `epic_id` | integer | yes | The ID of an epic |
| `note_id` | integer | yes | The ID of a note |
2019-10-20 17:06:17 -04:00
| `body` | string | yes | The content of a note. Limited to 1,000,000 characters. |
2019-05-29 19:25:19 -04:00
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request PUT --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/projects/5/snippet/11/notes?body=note"
2019-05-29 19:25:19 -04:00
```
### Delete an epic note
Deletes an existing note of an epic.
2020-02-27 04:09:01 -05:00
```plaintext
2019-05-29 19:25:19 -04:00
DELETE /groups/:id/epics/:epic_id/notes/:note_id
```
Parameters:
| Attribute | Type | Required | Description |
| --------- | -------------- | -------- | ----------- |
| `id` | integer/string | yes | The ID or [URL-encoded path of the group ](README.md#namespaced-path-encoding ) |
| `epic_id` | integer | yes | The ID of an epic |
| `note_id` | integer | yes | The ID of a note |
2020-01-30 10:09:15 -05:00
```shell
2020-05-27 20:08:37 -04:00
curl --request DELETE --header "PRIVATE-TOKEN: < your_access_token > " "https://gitlab.example.com/api/v4/groups/5/epics/52/notes/1659"
2019-05-29 19:25:19 -04:00
```