Use this API to manage the comments and system records attached to GitLab content. You can:
- Create and modify comments on issues, merge requests, epics, snippets, commits, and wiki pages.
- Retrieve system-generated notes about object changes.
- Control visibility with confidential and internal flags.
Some system-generated notes are tracked as separate resource events instead, including label, state, milestone, weight, and iteration events.
By default, GET requests return 20 results at a time, because the results are
paginated.
List all issue notes
GET /api/v4/projects/{id}/issues/{noteable_id}/notes
Lists all notes for a specified issue.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
order_Query | String | Return notes ordered by created_ or updated_ fieldsAllowed values: created_,updated_Default: created_ |
sortQuery | String | Return notes sorted in asc or desc orderAllowed values: asc,descDefault: desc |
activity_Query | String | The type of notables which are returned Allowed values: all_,only_,only_Default: all_ |
pageQuery | Integer | Current page number Default: 1Example: 1 |
per_Query | Integer | Number of items per page Default: 20Example: 20 |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Create an issue note
POST /api/v4/projects/{id}/issues/{noteable_id}/notes
Creates a note for an issue.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
bodyRequired | String | The content of a note |
confidential | Boolean | [Deprecated in 15. |
created_ | String | The creation date of the note |
internal | Boolean | Internal note flag, |
merge_ | String | The SHA of the head commit |
Responses
| Code | Description | Schema |
|---|---|---|
201 | Created | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Retrieve an issue note
GET /api/v4/projects/{id}/issues/{noteable_id}/notes/{note_id}
Retrieves a specified note for an issue.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
note_Path, | Integer | The ID of a note |
noteable_Path, | Integer | The ID of the noteable |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Update an issue note
PUT /api/v4/projects/{id}/issues/{noteable_id}/notes/{note_id}
Updates an existing note for an issue.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
body | String | The content of a note |
confidential | Boolean | [Deprecated in 14. |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Delete an issue note
DELETE /api/v4/projects/{id}/issues/{noteable_id}/notes/{note_id}
Deletes a specified note from an issue.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
List all merge request notes
GET /api/v4/projects/{id}/merge_requests/{noteable_id}/notes
Lists all notes for a specified merge request.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
order_Query | String | Return notes ordered by created_ or updated_ fieldsAllowed values: created_,updated_Default: created_ |
sortQuery | String | Return notes sorted in asc or desc orderAllowed values: asc,descDefault: desc |
activity_Query | String | The type of notables which are returned Allowed values: all_,only_,only_Default: all_ |
pageQuery | Integer | Current page number Default: 1Example: 1 |
per_Query | Integer | Number of items per page Default: 20Example: 20 |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Create a merge request note
POST /api/v4/projects/{id}/merge_requests/{noteable_id}/notes
Creates a note for a merge request.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
bodyRequired | String | The content of a note |
confidential | Boolean | [Deprecated in 15. |
created_ | String | The creation date of the note |
internal | Boolean | Internal note flag, |
merge_ | String | The SHA of the head commit |
Responses
| Code | Description | Schema |
|---|---|---|
201 | Created | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Retrieve a merge request note
GET /api/v4/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}
Retrieves a specified note for a merge request.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
note_Path, | Integer | The ID of a note |
noteable_Path, | Integer | The ID of the noteable |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Update a merge request note
PUT /api/v4/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}
Updates an existing note for a merge request.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
body | String | The content of a note |
confidential | Boolean | [Deprecated in 14. |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Delete a merge request note
DELETE /api/v4/projects/{id}/merge_requests/{noteable_id}/notes/{note_id}
Deletes a specified note from a merge request.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
List all snippet notes
GET /api/v4/projects/{id}/snippets/{noteable_id}/notes
Lists all notes for a specified snippet.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
order_Query | String | Return notes ordered by created_ or updated_ fieldsAllowed values: created_,updated_Default: created_ |
sortQuery | String | Return notes sorted in asc or desc orderAllowed values: asc,descDefault: desc |
activity_Query | String | The type of notables which are returned Allowed values: all_,only_,only_Default: all_ |
pageQuery | Integer | Current page number Default: 1Example: 1 |
per_Query | Integer | Number of items per page Default: 20Example: 20 |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Create a snippet note
POST /api/v4/projects/{id}/snippets/{noteable_id}/notes
Creates a note for a snippet.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
bodyRequired | String | The content of a note |
confidential | Boolean | [Deprecated in 15. |
created_ | String | The creation date of the note |
internal | Boolean | Internal note flag, |
merge_ | String | The SHA of the head commit |
Responses
| Code | Description | Schema |
|---|---|---|
201 | Created | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Retrieve a snippet note
GET /api/v4/projects/{id}/snippets/{noteable_id}/notes/{note_id}
Retrieves a specified note for a snippet.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
note_Path, | Integer | The ID of a note |
noteable_Path, | Integer | The ID of the noteable |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Update a snippet note
PUT /api/v4/projects/{id}/snippets/{noteable_id}/notes/{note_id}
Updates an existing note for a snippet.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
body | String | The content of a note |
confidential | Boolean | [Deprecated in 14. |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Delete a snippet note
DELETE /api/v4/projects/{id}/snippets/{noteable_id}/notes/{note_id}
Deletes a specified note from a snippet.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
List all wiki page meta notes
GET /api/v4/projects/{id}/wiki_pages/{noteable_id}/notes
Lists all notes for a specified wiki page meta.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
order_Query | String | Return notes ordered by created_ or updated_ fieldsAllowed values: created_,updated_Default: created_ |
sortQuery | String | Return notes sorted in asc or desc orderAllowed values: asc,descDefault: desc |
activity_Query | String | The type of notables which are returned Allowed values: all_,only_,only_Default: all_ |
pageQuery | Integer | Current page number Default: 1Example: 1 |
per_Query | Integer | Number of items per page Default: 20Example: 20 |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Create a wiki page meta note
POST /api/v4/projects/{id}/wiki_pages/{noteable_id}/notes
Creates a note for a wiki page meta.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
bodyRequired | String | The content of a note |
confidential | Boolean | [Deprecated in 15. |
created_ | String | The creation date of the note |
internal | Boolean | Internal note flag, |
merge_ | String | The SHA of the head commit |
Responses
| Code | Description | Schema |
|---|---|---|
201 | Created | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Retrieve a wiki page meta note
GET /api/v4/projects/{id}/wiki_pages/{noteable_id}/notes/{note_id}
Retrieves a specified note for a wiki page meta.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
note_Path, | Integer | The ID of a note |
noteable_Path, | Integer | The ID of the noteable |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Update a wiki page meta note
PUT /api/v4/projects/{id}/wiki_pages/{noteable_id}/notes/{note_id}
Updates an existing note for a wiki page meta.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Request body (application/json)
| Property | Type | Description |
|---|---|---|
body | String | The content of a note |
confidential | Boolean | [Deprecated in 14. |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Delete a wiki page meta note
DELETE /api/v4/projects/{id}/wiki_pages/{noteable_id}/notes/{note_id}
Deletes a specified note from a wiki page meta.
Parameters
| Name | Type | Description |
|---|---|---|
idPath, | String | The ID of a project |
noteable_Path, | Integer | The ID of the noteable |
note_Path, | Integer | The ID of a note |
Responses
| Code | Description | Schema |
|---|---|---|
200 | OK | APIEntities |
400 | Bad Request | — |
404 | Not Found | — |
Schemas
Objects returned by the operations above and objects nested in their request bodies.
APIEntitiesCustomAttribute
| Property | Type | Description |
|---|---|---|
key | String | Example:foo |
value | String | Example:bar |
APIEntitiesNote
| Property | Type | Description |
|---|---|---|
author | APIEntities | — |
body | String | Example:Note body. |
commands_ | Object | — |
commit_ | String | Example:7b09ce7e6f80347baf03 |
confidential | Boolean | Example:false |
created_ | String (date- | Example:2022- |
id | Integer (int64) | Example:1 |
imported | Boolean | Example:false |
imported_ | String | Example:github |
internal | Boolean | Example:false |
noteable_ | Integer (int64) | Example:1 |
noteable_ | Integer | Example:1 |
noteable_ | String | Example:Issue |
position | Object | — |
project_ | Integer (int64) | Example:1 |
resolvable | Boolean | Example:false |
resolved | Boolean | Example:false |
resolved_ | String (date- | Example:2022- |
resolved_ | APIEntities | — |
suggestions | APIEntities | — |
system | Boolean | Example:false |
type | String | Example:Discussion |
updated_ | String (date- | Example:2022- |
APIEntitiesSuggestion
| Property | Type | Description |
|---|---|---|
appliable | Boolean | Example:true |
applied | Boolean | Example:false |
from_ | String | Example:Original content |
from_ | Integer | Example:1 |
id | Integer (int64) | Example:1 |
to_ | String | Example:New content |
to_ | Integer | Example:1 |
APIEntitiesUserBasic
| Property | Type | Description |
|---|---|---|
avatar_ | String | Example:/ |
avatar_ | String | Example:https: |
custom_ | Array of APIEntities | — |
id | Integer (int64) | Example:1 |
locked | Boolean | — |
name | String | Example:Administrator |
public_ | String | Example:john@example. |
state | String | Example:active |
username | String | Example:admin |
web_ | String | Example:https: |