<!---
  This documentation is auto generated by a script.

  Please do not edit this file directly, check compile_docs task on lib/tasks/gitlab/graphql.rake.
--->

# GraphQL API Resources

This documentation is self-generated based on GitLab current GraphQL schema.

The API can be explored interactively using the [GraphiQL IDE](../index.md#graphiql).

## Objects

### AddAwardEmojiPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `awardEmoji` | AwardEmoji | The award emoji after mutation |

### AwardEmoji

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `name` | String! | The emoji name |
| `description` | String! | The emoji description |
| `unicode` | String! | The emoji in unicode |
| `emoji` | String! | The emoji as an icon |
| `unicodeVersion` | String! | The unicode version for this emoji |
| `user` | User! | The user who awarded the emoji |

### Blob

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! |  |
| `sha` | String! | Last commit sha for entry |
| `name` | String! |  |
| `type` | EntryType! |  |
| `path` | String! |  |
| `flatPath` | String! |  |
| `webUrl` | String |  |
| `lfsOid` | String |  |

### Commit

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | ID (global ID) of the commit |
| `sha` | String! | SHA1 ID of the commit |
| `title` | String | Title of the commit message |
| `description` | String | Description of the commit message |
| `message` | String | Raw commit message |
| `authoredDate` | Time | Timestamp of when the commit was authored |
| `webUrl` | String! | Web URL of the commit |
| `signatureHtml` | String | Rendered HTML of the commit signature |
| `authorName` | String | Commit authors name |
| `author` | User | Author of the commit |
| `latestPipeline` | Pipeline | Latest pipeline of the commit |

### CreateDiffNotePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `note` | Note | The note after mutation |

### CreateEpicPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `epic` | Epic | The created epic |

### CreateImageDiffNotePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `note` | Note | The note after mutation |

### CreateNotePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `note` | Note | The note after mutation |

### CreateSnippetPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `snippet` | Snippet | The snippet after mutation |

### Design

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! |  |
| `project` | Project! |  |
| `issue` | Issue! |  |
| `notesCount` | Int! | The total count of user-created notes for this design |
| `filename` | String! |  |
| `fullPath` | String! |  |
| `event` | DesignVersionEvent! | The change that happened to the design at this version |
| `image` | String! |  |
| `diffRefs` | DiffRefs! |  |

### DesignCollection

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `project` | Project! |  |
| `issue` | Issue! |  |

### DesignManagementDeletePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `version` | DesignVersion | The new version in which the designs are deleted |

### DesignManagementUploadPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `designs` | Design! => Array | The designs that were uploaded by the mutation |
| `skippedDesigns` | Design! => Array | Any designs that were skipped from the upload due to there being no change to their content since their last version |

### DesignVersion

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! |  |
| `sha` | ID! |  |

### DestroyNotePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `note` | Note | The note after mutation |

### DestroySnippetPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `snippet` | Snippet | The snippet after mutation |

### DetailedStatus

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `group` | String! |  |
| `icon` | String! |  |
| `favicon` | String! |  |
| `detailsPath` | String! |  |
| `hasDetails` | Boolean! |  |
| `label` | String! |  |
| `text` | String! |  |
| `tooltip` | String! |  |

### DiffPosition

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `diffRefs` | DiffRefs! | Information about the branch, HEAD, and base at the time of commenting |
| `filePath` | String! | Path of the file that was changed |
| `oldPath` | String | Path of the file on the start SHA |
| `newPath` | String | Path of the file on the HEAD SHA |
| `positionType` | DiffPositionType! | Type of file the position refers to |
| `oldLine` | Int | Line on start SHA that was changed |
| `newLine` | Int | Line on HEAD SHA that was changed |
| `x` | Int | X position on which the comment was made |
| `y` | Int | Y position on which the comment was made |
| `width` | Int | Total width of the image |
| `height` | Int | Total height of the image |

### DiffRefs

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `headSha` | String! | SHA of the HEAD at the time the comment was made |
| `baseSha` | String! | Merge base of the branch the comment was made on |
| `startSha` | String! | SHA of the branch being compared against |

### Discussion

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | ID of this discussion |
| `replyId` | ID! | ID used to reply to this discussion |
| `createdAt` | Time! | Timestamp of the discussion's creation |

### Epic

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | EpicPermissions! | Permissions for the current user on the resource |
| `id` | ID! | ID of the epic |
| `iid` | ID! | Internal ID of the epic |
| `title` | String | Title of the epic |
| `description` | String | Description of the epic |
| `state` | EpicState! | State of the epic |
| `group` | Group! | Group to which the epic belongs |
| `parent` | Epic | Parent epic of the epic |
| `author` | User! | Author of the epic |
| `startDate` | Time | Start date of the epic |
| `startDateIsFixed` | Boolean | Indicates if the start date has been manually set |
| `startDateFixed` | Time | Fixed start date of the epic |
| `startDateFromMilestones` | Time | Inherited start date of the epic from milestones |
| `dueDate` | Time | Due date of the epic |
| `dueDateIsFixed` | Boolean | Indicates if the due date has been manually set |
| `dueDateFixed` | Time | Fixed due date of the epic |
| `dueDateFromMilestones` | Time | Inherited due date of the epic from milestones |
| `upvotes` | Int! | Number of upvotes the epic has received |
| `downvotes` | Int! | Number of downvotes the epic has received |
| `closedAt` | Time | Timestamp of the epic's closure |
| `createdAt` | Time | Timestamp of the epic's creation |
| `updatedAt` | Time | Timestamp of the epic's last activity |
| `hasChildren` | Boolean! | Indicates if the epic has children |
| `hasIssues` | Boolean! | Indicates if the epic has direct issues |
| `webPath` | String! |  |
| `webUrl` | String! |  |
| `relativePosition` | Int | The relative position of the epic in the epic tree |
| `relationPath` | String |  |
| `reference` | String! |  |
| `subscribed` | Boolean! | Boolean flag for whether the currently logged in user is subscribed to this epic |
| `descendantCounts` | EpicDescendantCount | Number of open and closed descendant epics and issues |

### EpicDescendantCount

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `openedEpics` | Int | Number of opened sub-epics |
| `closedEpics` | Int | Number of closed sub-epics |
| `openedIssues` | Int | Number of opened epic issues |
| `closedIssues` | Int | Number of closed epic issues |

### EpicIssue

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | IssuePermissions! | Permissions for the current user on the resource |
| `iid` | ID! | Internal ID of the issue |
| `title` | String! | Title of the issue |
| `titleHtml` | String | The GitLab Flavored Markdown rendering of `title` |
| `description` | String | Description of the issue |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `state` | IssueState! | State of the issue |
| `reference` | String! | Internal reference of the issue. Returned in shortened format by default |
| `author` | User! | User that created the issue |
| `milestone` | Milestone | Milestone of the issue |
| `dueDate` | Time | Due date of the issue |
| `confidential` | Boolean! | Indicates the issue is confidential |
| `discussionLocked` | Boolean! | Indicates discussion is locked on the issue |
| `upvotes` | Int! | Number of upvotes the issue has received |
| `downvotes` | Int! | Number of downvotes the issue has received |
| `userNotesCount` | Int! | Number of user notes of the issue |
| `webPath` | String! | Web path of the issue |
| `webUrl` | String! | Web URL of the issue |
| `relativePosition` | Int | Relative position of the issue (used for positioning in epic tree and issue boards) |
| `subscribed` | Boolean! | Boolean flag for whether the currently logged in user is subscribed to this issue |
| `timeEstimate` | Int! | Time estimate of the issue |
| `totalTimeSpent` | Int! | Total time reported as spent on the issue |
| `closedAt` | Time | Timestamp of when the issue was closed |
| `createdAt` | Time! | Timestamp of when the issue was created |
| `updatedAt` | Time! | Timestamp of when the issue was last updated |
| `taskCompletionStatus` | TaskCompletionStatus! | Task completion status of the issue |
| `epic` | Epic | Epic to which this issue belongs |
| `weight` | Int | Weight of the issue |
| `designs` | DesignCollection | Deprecated. Use `design_collection`. |
| `designCollection` | DesignCollection | Collection of design images associated with this issue |
| `epicIssueId` | ID! | ID of the epic-issue relation |
| `relationPath` | String | URI path of the epic-issue relation |
| `id` | ID | Global ID of the epic-issue relation |

### EpicPermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `readEpic` | Boolean! | Whether or not a user can perform `read_epic` on this resource |
| `readEpicIid` | Boolean! | Whether or not a user can perform `read_epic_iid` on this resource |
| `updateEpic` | Boolean! | Whether or not a user can perform `update_epic` on this resource |
| `destroyEpic` | Boolean! | Whether or not a user can perform `destroy_epic` on this resource |
| `adminEpic` | Boolean! | Whether or not a user can perform `admin_epic` on this resource |
| `createEpic` | Boolean! | Whether or not a user can perform `create_epic` on this resource |
| `createNote` | Boolean! | Whether or not a user can perform `create_note` on this resource |
| `awardEmoji` | Boolean! | Whether or not a user can perform `award_emoji` on this resource |

### EpicSetSubscriptionPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `epic` | Epic | The epic after mutation |

### EpicTreeReorderPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |

### Group

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | ID of the namespace |
| `name` | String! | Name of the namespace |
| `path` | String! | Path of the namespace |
| `fullName` | String! | Full name of the namespace |
| `fullPath` | ID! | Full path of the namespace |
| `description` | String | Description of the namespace |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `visibility` | String | Visibility of the namespace |
| `lfsEnabled` | Boolean | Indicates if Large File Storage (LFS) is enabled for namespace |
| `requestAccessEnabled` | Boolean | Indicates if users can request access to namespace |
| `rootStorageStatistics` | RootStorageStatistics | Aggregated storage statistics of the namespace. Only available for root namespaces |
| `userPermissions` | GroupPermissions! | Permissions for the current user on the resource |
| `webUrl` | String! | Web URL of the group |
| `avatarUrl` | String | Avatar URL of the group |
| `parent` | Group | Parent group |
| `epicsEnabled` | Boolean | Indicates if Epics are enabled for namespace |
| `groupTimelogsEnabled` | Boolean | Indicates if Group timelogs are enabled for namespace |
| `epic` | Epic | Find a single epic |

### GroupPermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `readGroup` | Boolean! | Whether or not a user can perform `read_group` on this resource |

### Issue

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | IssuePermissions! | Permissions for the current user on the resource |
| `iid` | ID! | Internal ID of the issue |
| `title` | String! | Title of the issue |
| `titleHtml` | String | The GitLab Flavored Markdown rendering of `title` |
| `description` | String | Description of the issue |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `state` | IssueState! | State of the issue |
| `reference` | String! | Internal reference of the issue. Returned in shortened format by default |
| `author` | User! | User that created the issue |
| `milestone` | Milestone | Milestone of the issue |
| `dueDate` | Time | Due date of the issue |
| `confidential` | Boolean! | Indicates the issue is confidential |
| `discussionLocked` | Boolean! | Indicates discussion is locked on the issue |
| `upvotes` | Int! | Number of upvotes the issue has received |
| `downvotes` | Int! | Number of downvotes the issue has received |
| `userNotesCount` | Int! | Number of user notes of the issue |
| `webPath` | String! | Web path of the issue |
| `webUrl` | String! | Web URL of the issue |
| `relativePosition` | Int | Relative position of the issue (used for positioning in epic tree and issue boards) |
| `subscribed` | Boolean! | Boolean flag for whether the currently logged in user is subscribed to this issue |
| `timeEstimate` | Int! | Time estimate of the issue |
| `totalTimeSpent` | Int! | Total time reported as spent on the issue |
| `closedAt` | Time | Timestamp of when the issue was closed |
| `createdAt` | Time! | Timestamp of when the issue was created |
| `updatedAt` | Time! | Timestamp of when the issue was last updated |
| `taskCompletionStatus` | TaskCompletionStatus! | Task completion status of the issue |
| `epic` | Epic | Epic to which this issue belongs |
| `weight` | Int | Weight of the issue |
| `designs` | DesignCollection | Deprecated. Use `design_collection`. |
| `designCollection` | DesignCollection | Collection of design images associated with this issue |

### IssuePermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `readIssue` | Boolean! | Whether or not a user can perform `read_issue` on this resource |
| `adminIssue` | Boolean! | Whether or not a user can perform `admin_issue` on this resource |
| `updateIssue` | Boolean! | Whether or not a user can perform `update_issue` on this resource |
| `createNote` | Boolean! | Whether or not a user can perform `create_note` on this resource |
| `reopenIssue` | Boolean! | Whether or not a user can perform `reopen_issue` on this resource |
| `readDesign` | Boolean! | Whether or not a user can perform `read_design` on this resource |
| `createDesign` | Boolean! | Whether or not a user can perform `create_design` on this resource |
| `destroyDesign` | Boolean! | Whether or not a user can perform `destroy_design` on this resource |

### IssueSetConfidentialPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `issue` | Issue | The issue after mutation |

### IssueSetDueDatePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `issue` | Issue | The issue after mutation |

### IssueSetWeightPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `issue` | Issue | The issue after mutation |

### Label

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | Label ID |
| `description` | String | Description of the label (Markdown rendered as HTML for caching) |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `title` | String! | Content of the label |
| `color` | String! | Background color of the label |
| `textColor` | String! | Text color of the label |

### MarkAsSpamSnippetPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `snippet` | Snippet | The snippet after mutation |

### MergeRequest

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | MergeRequestPermissions! | Permissions for the current user on the resource |
| `id` | ID! | ID of the merge request |
| `iid` | String! | Internal ID of the merge request |
| `title` | String! | Title of the merge request |
| `titleHtml` | String | The GitLab Flavored Markdown rendering of `title` |
| `description` | String | Description of the merge request (Markdown rendered as HTML for caching) |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `state` | MergeRequestState! | State of the merge request |
| `createdAt` | Time! | Timestamp of when the merge request was created |
| `updatedAt` | Time! | Timestamp of when the merge request was last updated |
| `sourceProject` | Project | Source project of the merge request |
| `targetProject` | Project! | Target project of the merge request |
| `diffRefs` | DiffRefs | References of the base SHA, the head SHA, and the start SHA for this merge request |
| `project` | Project! | Alias for target_project |
| `projectId` | Int! | ID of the merge request project |
| `sourceProjectId` | Int | ID of the merge request source project |
| `targetProjectId` | Int! | ID of the merge request target project |
| `sourceBranch` | String! | Source branch of the merge request |
| `targetBranch` | String! | Target branch of the merge request |
| `workInProgress` | Boolean! | Indicates if the merge request is a work in progress (WIP) |
| `mergeWhenPipelineSucceeds` | Boolean | Indicates if the merge has been set to be merged when its pipeline succeeds (MWPS) |
| `diffHeadSha` | String | Diff head SHA of the merge request |
| `mergeCommitSha` | String | SHA of the merge request commit (set once merged) |
| `userNotesCount` | Int | User notes count of the merge request |
| `shouldRemoveSourceBranch` | Boolean | Indicates if the source branch of the merge request will be deleted after merge |
| `forceRemoveSourceBranch` | Boolean | Indicates if the project settings will lead to source branch deletion after merge |
| `mergeStatus` | String | Status of the merge request |
| `inProgressMergeCommitSha` | String | Commit SHA of the merge request if merge is in progress |
| `mergeError` | String | Error message due to a merge error |
| `allowCollaboration` | Boolean | Indicates if members of the target project can push to the fork |
| `shouldBeRebased` | Boolean! | Indicates if the merge request will be rebased |
| `rebaseCommitSha` | String | Rebase commit SHA of the merge request |
| `rebaseInProgress` | Boolean! | Indicates if there is a rebase currently in progress for the merge request |
| `mergeCommitMessage` | String | Deprecated - renamed to defaultMergeCommitMessage |
| `defaultMergeCommitMessage` | String | Default merge commit message of the merge request |
| `mergeOngoing` | Boolean! | Indicates if a merge is currently occurring |
| `sourceBranchExists` | Boolean! | Indicates if the source branch of the merge request exists |
| `mergeableDiscussionsState` | Boolean | Indicates if all discussions in the merge request have been resolved, allowing the merge request to be merged |
| `webUrl` | String | Web URL of the merge request |
| `upvotes` | Int! | Number of upvotes for the merge request |
| `downvotes` | Int! | Number of downvotes for the merge request |
| `headPipeline` | Pipeline | The pipeline running on the branch HEAD of the merge request |
| `milestone` | Milestone | The milestone of the merge request |
| `subscribed` | Boolean! | Indicates if the currently logged in user is subscribed to this merge request |
| `discussionLocked` | Boolean! | Indicates if comments on the merge request are locked to members only |
| `timeEstimate` | Int! | Time estimate of the merge request |
| `totalTimeSpent` | Int! | Total time reported as spent on the merge request |
| `reference` | String! | Internal reference of the merge request. Returned in shortened format by default |
| `taskCompletionStatus` | TaskCompletionStatus! | Completion status of tasks |

### MergeRequestPermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `readMergeRequest` | Boolean! | Whether or not a user can perform `read_merge_request` on this resource |
| `adminMergeRequest` | Boolean! | Whether or not a user can perform `admin_merge_request` on this resource |
| `updateMergeRequest` | Boolean! | Whether or not a user can perform `update_merge_request` on this resource |
| `createNote` | Boolean! | Whether or not a user can perform `create_note` on this resource |
| `pushToSourceBranch` | Boolean! | Whether or not a user can perform `push_to_source_branch` on this resource |
| `removeSourceBranch` | Boolean! | Whether or not a user can perform `remove_source_branch` on this resource |
| `cherryPickOnCurrentMergeRequest` | Boolean! | Whether or not a user can perform `cherry_pick_on_current_merge_request` on this resource |
| `revertOnCurrentMergeRequest` | Boolean! | Whether or not a user can perform `revert_on_current_merge_request` on this resource |

### MergeRequestSetAssigneesPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `mergeRequest` | MergeRequest | The merge request after mutation |

### MergeRequestSetLabelsPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `mergeRequest` | MergeRequest | The merge request after mutation |

### MergeRequestSetLockedPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `mergeRequest` | MergeRequest | The merge request after mutation |

### MergeRequestSetMilestonePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `mergeRequest` | MergeRequest | The merge request after mutation |

### MergeRequestSetSubscriptionPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `mergeRequest` | MergeRequest | The merge request after mutation |

### MergeRequestSetWipPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `mergeRequest` | MergeRequest | The merge request after mutation |

### Metadata

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `version` | String! | Version |
| `revision` | String! | Revision |

### Milestone

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | ID of the milestone |
| `description` | String | Description of the milestone |
| `title` | String! | Title of the milestone |
| `state` | String! | State of the milestone |
| `dueDate` | Time | Timestamp of the milestone due date |
| `startDate` | Time | Timestamp of the milestone start date |
| `createdAt` | Time! | Timestamp of milestone creation |
| `updatedAt` | Time! | Timestamp of last milestone update |

### Namespace

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | ID of the namespace |
| `name` | String! | Name of the namespace |
| `path` | String! | Path of the namespace |
| `fullName` | String! | Full name of the namespace |
| `fullPath` | ID! | Full path of the namespace |
| `description` | String | Description of the namespace |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `visibility` | String | Visibility of the namespace |
| `lfsEnabled` | Boolean | Indicates if Large File Storage (LFS) is enabled for namespace |
| `requestAccessEnabled` | Boolean | Indicates if users can request access to namespace |
| `rootStorageStatistics` | RootStorageStatistics | Aggregated storage statistics of the namespace. Only available for root namespaces |

### Note

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | NotePermissions! | Permissions for the current user on the resource |
| `id` | ID! | ID of the note |
| `project` | Project | Project associated with the note |
| `author` | User! | User who wrote this note |
| `resolvedBy` | User | User that resolved the discussion |
| `system` | Boolean! | Indicates whether this note was created by the system or by a user |
| `body` | String! | Content of the note |
| `bodyHtml` | String | The GitLab Flavored Markdown rendering of `note` |
| `createdAt` | Time! | Timestamp of the note creation |
| `updatedAt` | Time! | Timestamp of the note's last activity |
| `discussion` | Discussion | The discussion this note is a part of |
| `resolvable` | Boolean! | Indicates if this note can be resolved. That is, if it is a resolvable discussion or simply a standalone note |
| `resolvedAt` | Time | Timestamp of the note's resolution |
| `position` | DiffPosition | The position of this note on a diff |

### NotePermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `readNote` | Boolean! | Whether or not a user can perform `read_note` on this resource |
| `createNote` | Boolean! | Whether or not a user can perform `create_note` on this resource |
| `adminNote` | Boolean! | Whether or not a user can perform `admin_note` on this resource |
| `resolveNote` | Boolean! | Whether or not a user can perform `resolve_note` on this resource |
| `awardEmoji` | Boolean! | Whether or not a user can perform `award_emoji` on this resource |

### PageInfo

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `hasNextPage` | Boolean! | When paginating forwards, are there more items? |
| `hasPreviousPage` | Boolean! | When paginating backwards, are there more items? |
| `startCursor` | String | When paginating backwards, the cursor to continue. |
| `endCursor` | String | When paginating forwards, the cursor to continue. |

### Pipeline

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | PipelinePermissions! | Permissions for the current user on the resource |
| `id` | ID! |  |
| `iid` | String! |  |
| `sha` | String! |  |
| `beforeSha` | String |  |
| `status` | PipelineStatusEnum! |  |
| `detailedStatus` | DetailedStatus! |  |
| `duration` | Int | Duration of the pipeline in seconds |
| `coverage` | Float | Coverage percentage |
| `createdAt` | Time! |  |
| `updatedAt` | Time! |  |
| `startedAt` | Time |  |
| `finishedAt` | Time |  |
| `committedAt` | Time |  |

### PipelinePermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `updatePipeline` | Boolean! | Whether or not a user can perform `update_pipeline` on this resource |
| `adminPipeline` | Boolean! | Whether or not a user can perform `admin_pipeline` on this resource |
| `destroyPipeline` | Boolean! | Whether or not a user can perform `destroy_pipeline` on this resource |

### Project

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | ProjectPermissions! | Permissions for the current user on the resource |
| `id` | ID! | ID of the project |
| `fullPath` | ID! | Full path of the project |
| `path` | String! | Path of the project |
| `nameWithNamespace` | String! | Full name of the project with its namespace |
| `name` | String! | Name of the project (without namespace) |
| `description` | String | Short description of the project |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |
| `tagList` | String | List of project tags |
| `sshUrlToRepo` | String | URL to connect to the project via SSH |
| `httpUrlToRepo` | String | URL to connect to the project via HTTPS |
| `webUrl` | String | Web URL of the project |
| `starCount` | Int! | Number of times the project has been starred |
| `forksCount` | Int! | Number of times the project has been forked |
| `createdAt` | Time | Timestamp of the project creation |
| `lastActivityAt` | Time | Timestamp of the project last activity |
| `archived` | Boolean | Archived status of the project |
| `visibility` | String | Visibility of the project |
| `containerRegistryEnabled` | Boolean | Indicates if the project stores Docker container images in a container registry |
| `sharedRunnersEnabled` | Boolean | Indicates if shared runners are enabled on the project |
| `lfsEnabled` | Boolean | Indicates if the project has Large File Storage (LFS) enabled |
| `mergeRequestsFfOnlyEnabled` | Boolean | Indicates if no merge commits should be created and all merges should instead be fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. |
| `avatarUrl` | String | URL to avatar image file of the project |
| `issuesEnabled` | Boolean | (deprecated) Does this project have issues enabled?. Use `issues_access_level` instead |
| `mergeRequestsEnabled` | Boolean | (deprecated) Does this project have merge_requests enabled?. Use `merge_requests_access_level` instead |
| `wikiEnabled` | Boolean | (deprecated) Does this project have wiki enabled?. Use `wiki_access_level` instead |
| `snippetsEnabled` | Boolean | (deprecated) Does this project have snippets enabled?. Use `snippets_access_level` instead |
| `jobsEnabled` | Boolean | (deprecated) Enable jobs for this project. Use `builds_access_level` instead |
| `publicJobs` | Boolean | Indicates if there is public access to pipelines and job details of the project, including output logs and artifacts |
| `openIssuesCount` | Int | Number of open issues for the project |
| `importStatus` | String | Status of project import background job of the project |
| `onlyAllowMergeIfPipelineSucceeds` | Boolean | Indicates if merge requests of the project can only be merged with successful jobs |
| `requestAccessEnabled` | Boolean | Indicates if users can request member access to the project |
| `onlyAllowMergeIfAllDiscussionsAreResolved` | Boolean | Indicates if merge requests of the project can only be merged when all the discussions are resolved |
| `printingMergeRequestLinkEnabled` | Boolean | Indicates if a link to create or view a merge request should display after a push to Git repositories of the project from the command line |
| `removeSourceBranchAfterMerge` | Boolean | Indicates if `Delete source branch` option should be enabled by default for all new merge requests of the project |
| `namespace` | Namespace | Namespace of the project |
| `group` | Group | Group of the project |
| `statistics` | ProjectStatistics | Statistics of the project |
| `repository` | Repository | Git repository of the project |
| `mergeRequest` | MergeRequest | A single merge request of the project |
| `issue` | Issue | A single issue of the project |
| `sentryDetailedError` | SentryDetailedError | Detailed version of a Sentry error on the project |
| `serviceDeskEnabled` | Boolean | Indicates if the project has service desk enabled. |
| `serviceDeskAddress` | String | E-mail address of the service desk. |

### ProjectPermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `changeNamespace` | Boolean! | Whether or not a user can perform `change_namespace` on this resource |
| `changeVisibilityLevel` | Boolean! | Whether or not a user can perform `change_visibility_level` on this resource |
| `renameProject` | Boolean! | Whether or not a user can perform `rename_project` on this resource |
| `removeProject` | Boolean! | Whether or not a user can perform `remove_project` on this resource |
| `archiveProject` | Boolean! | Whether or not a user can perform `archive_project` on this resource |
| `removeForkProject` | Boolean! | Whether or not a user can perform `remove_fork_project` on this resource |
| `removePages` | Boolean! | Whether or not a user can perform `remove_pages` on this resource |
| `readProject` | Boolean! | Whether or not a user can perform `read_project` on this resource |
| `createMergeRequestIn` | Boolean! | Whether or not a user can perform `create_merge_request_in` on this resource |
| `readWiki` | Boolean! | Whether or not a user can perform `read_wiki` on this resource |
| `readProjectMember` | Boolean! | Whether or not a user can perform `read_project_member` on this resource |
| `createIssue` | Boolean! | Whether or not a user can perform `create_issue` on this resource |
| `uploadFile` | Boolean! | Whether or not a user can perform `upload_file` on this resource |
| `readCycleAnalytics` | Boolean! | Whether or not a user can perform `read_cycle_analytics` on this resource |
| `downloadCode` | Boolean! | Whether or not a user can perform `download_code` on this resource |
| `downloadWikiCode` | Boolean! | Whether or not a user can perform `download_wiki_code` on this resource |
| `forkProject` | Boolean! | Whether or not a user can perform `fork_project` on this resource |
| `readCommitStatus` | Boolean! | Whether or not a user can perform `read_commit_status` on this resource |
| `requestAccess` | Boolean! | Whether or not a user can perform `request_access` on this resource |
| `createPipeline` | Boolean! | Whether or not a user can perform `create_pipeline` on this resource |
| `createPipelineSchedule` | Boolean! | Whether or not a user can perform `create_pipeline_schedule` on this resource |
| `createMergeRequestFrom` | Boolean! | Whether or not a user can perform `create_merge_request_from` on this resource |
| `createWiki` | Boolean! | Whether or not a user can perform `create_wiki` on this resource |
| `pushCode` | Boolean! | Whether or not a user can perform `push_code` on this resource |
| `createDeployment` | Boolean! | Whether or not a user can perform `create_deployment` on this resource |
| `pushToDeleteProtectedBranch` | Boolean! | Whether or not a user can perform `push_to_delete_protected_branch` on this resource |
| `adminWiki` | Boolean! | Whether or not a user can perform `admin_wiki` on this resource |
| `adminProject` | Boolean! | Whether or not a user can perform `admin_project` on this resource |
| `updatePages` | Boolean! | Whether or not a user can perform `update_pages` on this resource |
| `adminRemoteMirror` | Boolean! | Whether or not a user can perform `admin_remote_mirror` on this resource |
| `createLabel` | Boolean! | Whether or not a user can perform `create_label` on this resource |
| `updateWiki` | Boolean! | Whether or not a user can perform `update_wiki` on this resource |
| `destroyWiki` | Boolean! | Whether or not a user can perform `destroy_wiki` on this resource |
| `createPages` | Boolean! | Whether or not a user can perform `create_pages` on this resource |
| `destroyPages` | Boolean! | Whether or not a user can perform `destroy_pages` on this resource |
| `readPagesContent` | Boolean! | Whether or not a user can perform `read_pages_content` on this resource |
| `adminOperations` | Boolean! | Whether or not a user can perform `admin_operations` on this resource |
| `createSnippet` | Boolean! | Whether or not a user can perform `create_snippet` on this resource |
| `readDesign` | Boolean! | Whether or not a user can perform `read_design` on this resource |
| `createDesign` | Boolean! | Whether or not a user can perform `create_design` on this resource |
| `destroyDesign` | Boolean! | Whether or not a user can perform `destroy_design` on this resource |

### ProjectStatistics

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `commitCount` | Int! | Commit count of the project |
| `storageSize` | Int! | Storage size of the project |
| `repositorySize` | Int! | Repository size of the project |
| `lfsObjectsSize` | Int! | Large File Storage (LFS) object size of the project |
| `buildArtifactsSize` | Int! | Build artifacts size of the project |
| `packagesSize` | Int! | Packages size of the project |
| `wikiSize` | Int | Wiki size of the project |

### RemoveAwardEmojiPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `awardEmoji` | AwardEmoji | The award emoji after mutation |

### Repository

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `rootRef` | String | Default branch of the repository |
| `empty` | Boolean! | Indicates repository has no visible content |
| `exists` | Boolean! | Indicates a corresponding Git repository exists on disk |
| `tree` | Tree | Tree of the repository |

### RootStorageStatistics

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `storageSize` | Int! | The total storage in bytes |
| `repositorySize` | Int! | The Git repository size in bytes |
| `lfsObjectsSize` | Int! | The LFS objects size in bytes |
| `buildArtifactsSize` | Int! | The CI artifacts size in bytes |
| `packagesSize` | Int! | The packages size in bytes |
| `wikiSize` | Int! | The wiki size in bytes |

### SentryDetailedError

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | ID (global ID) of the error |
| `sentryId` | String! | ID (Sentry ID) of the error |
| `title` | String! | Title of the error |
| `type` | String! | Type of the error |
| `userCount` | Int! | Count of users affected by the error |
| `count` | Int! | Count of occurrences |
| `firstSeen` | Time! | Timestamp when the error was first seen |
| `lastSeen` | Time! | Timestamp when the error was last seen |
| `message` | String | Sentry metadata message of the error |
| `culprit` | String! | Culprit of the error |
| `externalUrl` | String! | External URL of the error |
| `sentryProjectId` | ID! | ID of the project (Sentry project) |
| `sentryProjectName` | String! | Name of the project affected by the error |
| `sentryProjectSlug` | String! | Slug of the project affected by the error |
| `shortId` | String! | Short ID (Sentry ID) of the error |
| `status` | SentryErrorStatus! | Status of the error |
| `frequency` | SentryErrorFrequency! => Array | Last 24hr stats of the error |
| `firstReleaseLastCommit` | String | Commit the error was first seen |
| `lastReleaseLastCommit` | String | Commit the error was last seen |
| `firstReleaseShortVersion` | String | Release version the error was first seen |
| `lastReleaseShortVersion` | String | Release version the error was last seen |

### SentryErrorFrequency

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `time` | Time! | Time the error frequency stats were recorded |
| `count` | Int! | Count of errors received since the previously recorded time |

### Snippet

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | SnippetPermissions! | Permissions for the current user on the resource |
| `id` | ID! | Id of the snippet |
| `title` | String! | Title of the snippet |
| `project` | Project | The project the snippet is associated with |
| `author` | User! | The owner of the snippet |
| `fileName` | String | File Name of the snippet |
| `content` | String! | Content of the snippet |
| `description` | String | Description of the snippet |
| `visibilityLevel` | VisibilityLevelsEnum! | Visibility Level of the snippet |
| `createdAt` | Time! | Timestamp this snippet was created |
| `updatedAt` | Time! | Timestamp this snippet was updated |
| `webUrl` | String! | Web URL of the snippet |
| `rawUrl` | String! | Raw URL of the snippet |
| `descriptionHtml` | String | The GitLab Flavored Markdown rendering of `description` |

### SnippetPermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `createNote` | Boolean! | Whether or not a user can perform `create_note` on this resource |
| `awardEmoji` | Boolean! | Whether or not a user can perform `award_emoji` on this resource |
| `readSnippet` | Boolean! | Whether or not a user can perform `read_snippet` on this resource |
| `updateSnippet` | Boolean! | Whether or not a user can perform `update_snippet` on this resource |
| `adminSnippet` | Boolean! | Whether or not a user can perform `admin_snippet` on this resource |
| `reportSnippet` | Boolean! | Whether or not a user can perform `report_snippet` on this resource |

### Submodule

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! |  |
| `sha` | String! | Last commit sha for entry |
| `name` | String! |  |
| `type` | EntryType! |  |
| `path` | String! |  |
| `flatPath` | String! |  |
| `webUrl` | String |  |
| `treeUrl` | String |  |

### TaskCompletionStatus

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `count` | Int! | Number of total tasks |
| `completedCount` | Int! | Number of completed tasks |

### Timelog

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `date` | Time! | The date when the time tracked was spent at |
| `timeSpent` | Int! | The time spent displayed in seconds |
| `user` | User! | The user that logged the time |
| `issue` | Issue | The issue that logged time was added to |

### Todo

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! | Id of the todo |
| `project` | Project | The project this todo is associated with |
| `group` | Group | Group this todo is associated with |
| `author` | User! | The owner of this todo |
| `action` | TodoActionEnum! | Action of the todo |
| `targetType` | TodoTargetEnum! | Target type of the todo |
| `body` | String! | Body of the todo |
| `state` | TodoStateEnum! | State of the todo |
| `createdAt` | Time! | Timestamp this todo was created |

### TodoMarkDonePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `todo` | Todo! | The requested todo |

### TodoRestorePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `todo` | Todo! | The requested todo |

### TodosMarkAllDonePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `updatedIds` | ID! => Array | Ids of the updated todos |

### ToggleAwardEmojiPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `awardEmoji` | AwardEmoji | The award emoji after mutation |
| `toggledOn` | Boolean! | True when the emoji was awarded, false when it was removed |

### Tree

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `lastCommit` | Commit | Last commit for the tree |

### TreeEntry

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `id` | ID! |  |
| `sha` | String! | Last commit sha for entry |
| `name` | String! |  |
| `type` | EntryType! |  |
| `path` | String! |  |
| `flatPath` | String! |  |
| `webUrl` | String |  |

### UpdateEpicPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `epic` | Epic | The epic after mutation |

### UpdateNotePayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `note` | Note | The note after mutation |

### UpdateSnippetPayload

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `clientMutationId` | String | A unique identifier for the client performing the mutation. |
| `errors` | String! => Array | Reasons why the mutation failed. |
| `snippet` | Snippet | The snippet after mutation |

### User

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `userPermissions` | UserPermissions! | Permissions for the current user on the resource |
| `name` | String! | Human-readable name of the user |
| `username` | String! | Username of the user. Unique within this instance of GitLab |
| `avatarUrl` | String! | URL of the user's avatar |
| `webUrl` | String! | Web URL of the user |

### UserPermissions

| Name  | Type  | Description |
| ---   |  ---- | ----------  |
| `createSnippet` | Boolean! | Whether or not a user can perform `create_snippet` on this resource |
