GraphQL API Resources

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

The API can be explored interactively using the GraphiQL IDE.

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!  
name String!  
type EntryType!  
path String!  
flatPath String!  
webUrl String  
lfsOid String  

Commit

Name Type Description
id ID!  
sha String!  
title String  
description String  
message String  
authoredDate Time  
webUrl String!  
signatureHtml String Rendered html for the commit signature
author User  
latestPipeline Pipeline Latest pipeline for this 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

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

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

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!  
filePath String! The path of the file that was changed
oldPath String The path of the file on the start sha.
newPath String The path of the file on the head sha.
positionType DiffPositionType!  
oldLine Int The line on start sha that was changed
newLine Int The line on head sha that was changed
x Int The X postion on which the comment was made
y Int The Y position on which the comment was made
width Int The total width of the image
height Int The total height of the image

DiffRefs

Name Type Description
headSha String! The sha of the head at the time the comment was made
baseSha String! The merge base of the branch the comment was made on
startSha String! The sha of the branch being compared against

Discussion

Name Type Description
id ID!  
replyId ID! The ID used to reply to this discussion
createdAt Time!  

Epic

Name Type Description
userPermissions EpicPermissions! Permissions for the current user on the resource
id ID!  
iid ID!  
title String  
description String  
state EpicState!  
group Group!  
parent Epic  
author User!  
startDate Time  
startDateIsFixed Boolean  
startDateFixed Time  
startDateFromMilestones Time  
dueDate Time  
dueDateIsFixed Boolean  
dueDateFixed Time  
dueDateFromMilestones Time  
closedAt Time  
createdAt Time  
updatedAt Time  
hasChildren Boolean!  
hasIssues Boolean!  
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

EpicIssue

Name Type Description
userPermissions IssuePermissions! Permissions for the current user on the resource
iid ID!  
title String!  
titleHtml String The GitLab Flavored Markdown rendering of title
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
state IssueState!  
reference String!  
author User!  
milestone Milestone  
dueDate Time  
confidential Boolean!  
discussionLocked Boolean!  
upvotes Int!  
downvotes Int!  
userNotesCount Int!  
webPath String!  
webUrl String!  
relativePosition Int  
timeEstimate Int! The time estimate on the issue
totalTimeSpent Int! Total time reported as spent on the issue
closedAt Time  
createdAt Time!  
updatedAt Time!  
taskCompletionStatus TaskCompletionStatus!  
epic Epic The epic to which issue belongs
weight Int  
designs DesignCollection  
designCollection DesignCollection  
epicIssueId ID!  
relationPath String  
id ID The 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

EpicTreeReorderPayload

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

ExtendedIssue

Name Type Description
userPermissions IssuePermissions! Permissions for the current user on the resource
iid ID!  
title String!  
titleHtml String The GitLab Flavored Markdown rendering of title
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
state IssueState!  
reference String!  
author User!  
milestone Milestone  
dueDate Time  
confidential Boolean!  
discussionLocked Boolean!  
upvotes Int!  
downvotes Int!  
userNotesCount Int!  
webPath String!  
webUrl String!  
relativePosition Int  
timeEstimate Int! The time estimate on the issue
totalTimeSpent Int! Total time reported as spent on the issue
closedAt Time  
createdAt Time!  
updatedAt Time!  
taskCompletionStatus TaskCompletionStatus!  
epic Epic The epic to which issue belongs
weight Int  
designs DesignCollection  
designCollection DesignCollection  
subscribed Boolean! Boolean flag for whether the currently logged in user is subscribed to this issue

Group

Name Type Description
id ID!  
name String!  
path String!  
fullName String!  
fullPath ID!  
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
visibility String  
lfsEnabled Boolean  
requestAccessEnabled Boolean  
rootStorageStatistics RootStorageStatistics The aggregated storage statistics. Only available for root namespaces
userPermissions GroupPermissions! Permissions for the current user on the resource
webUrl String!  
avatarUrl String  
parent Group  
epicsEnabled Boolean  
epic 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!  
title String!  
titleHtml String The GitLab Flavored Markdown rendering of title
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
state IssueState!  
reference String!  
author User!  
milestone Milestone  
dueDate Time  
confidential Boolean!  
discussionLocked Boolean!  
upvotes Int!  
downvotes Int!  
userNotesCount Int!  
webPath String!  
webUrl String!  
relativePosition Int  
timeEstimate Int! The time estimate on the issue
totalTimeSpent Int! Total time reported as spent on the issue
closedAt Time  
createdAt Time!  
updatedAt Time!  
taskCompletionStatus TaskCompletionStatus!  
epic Epic The epic to which issue belongs
weight Int  
designs DesignCollection  
designCollection DesignCollection  

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

Label

Name Type Description
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
title String!  
color String!  
textColor String!  

MergeRequest

Name Type Description
userPermissions MergeRequestPermissions! Permissions for the current user on the resource
id ID!  
iid String!  
title String!  
titleHtml String The GitLab Flavored Markdown rendering of title
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
state MergeRequestState!  
createdAt Time!  
updatedAt Time!  
sourceProject Project  
targetProject Project!  
diffRefs DiffRefs  
project Project!  
projectId Int!  
sourceProjectId Int  
targetProjectId Int!  
sourceBranch String!  
targetBranch String!  
workInProgress Boolean!  
mergeWhenPipelineSucceeds Boolean  
diffHeadSha String  
mergeCommitSha String  
userNotesCount Int  
shouldRemoveSourceBranch Boolean  
forceRemoveSourceBranch Boolean  
mergeStatus String  
inProgressMergeCommitSha String  
mergeError String  
allowCollaboration Boolean  
shouldBeRebased Boolean!  
rebaseCommitSha String  
rebaseInProgress Boolean!  
mergeCommitMessage String  
defaultMergeCommitMessage String  
mergeOngoing Boolean!  
sourceBranchExists Boolean!  
mergeableDiscussionsState Boolean  
webUrl String  
upvotes Int!  
downvotes Int!  
headPipeline Pipeline  
milestone Milestone The milestone this merge request is linked to
subscribed Boolean! Boolean flag for whether the currently logged in user is subscribed to this MR
discussionLocked Boolean! Boolean flag determining if comments on the merge request are locked to members only
timeEstimate Int! The time estimate for the merge request
totalTimeSpent Int! Total time reported as spent on the merge request
reference String! Internal merge request reference. Returned in shortened format by default
taskCompletionStatus TaskCompletionStatus!  

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

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!  
revision String!  

Milestone

Name Type Description
description String  
title String!  
state String!  
dueDate Time  
startDate Time  
createdAt Time!  
updatedAt Time!  

Namespace

Name Type Description
id ID!  
name String!  
path String!  
fullName String!  
fullPath ID!  
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
visibility String  
lfsEnabled Boolean  
requestAccessEnabled Boolean  
rootStorageStatistics RootStorageStatistics The aggregated storage statistics. Only available for root namespaces

Note

Name Type Description
userPermissions NotePermissions! Permissions for the current user on the resource
id ID!  
project Project The project this note is associated to
author User! The user who wrote this note
resolvedBy User The user that resolved the discussion
system Boolean! Whether or not this note was created by the system or by a user
body String! The content note itself
bodyHtml String The GitLab Flavored Markdown rendering of note
createdAt Time!  
updatedAt Time!  
discussion Discussion The discussion this note is a part of
resolvable Boolean!  
resolvedAt Time The time the discussion was resolved
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!  
fullPath ID!  
path String!  
nameWithNamespace String!  
name String!  
description String  
descriptionHtml String The GitLab Flavored Markdown rendering of description
tagList String  
sshUrlToRepo String  
httpUrlToRepo String  
webUrl String  
starCount Int!  
forksCount Int!  
createdAt Time  
lastActivityAt Time  
archived Boolean  
visibility String  
containerRegistryEnabled Boolean  
sharedRunnersEnabled Boolean  
lfsEnabled Boolean  
mergeRequestsFfOnlyEnabled Boolean  
avatarUrl String  
issuesEnabled Boolean  
mergeRequestsEnabled Boolean  
wikiEnabled Boolean  
snippetsEnabled Boolean  
jobsEnabled Boolean  
publicJobs Boolean  
openIssuesCount Int  
importStatus String  
onlyAllowMergeIfPipelineSucceeds Boolean  
requestAccessEnabled Boolean  
onlyAllowMergeIfAllDiscussionsAreResolved Boolean  
printingMergeRequestLinkEnabled Boolean  
namespace Namespace  
group Group  
statistics ProjectStatistics  
repository Repository  
mergeRequest MergeRequest  
issue ExtendedIssue  

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
createProjectSnippet Boolean! Whether or not a user can perform create_project_snippet 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
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!  
storageSize Int!  
repositorySize Int!  
lfsObjectsSize Int!  
buildArtifactsSize Int!  
packagesSize Int!  
wikiSize Int  

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  
empty Boolean!  
exists Boolean!  
tree Tree  

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

Submodule

Name Type Description
id ID!  
name String!  
type EntryType!  
path String!  
flatPath String!  
webUrl String  
treeUrl String  

TaskCompletionStatus

Name Type Description
count Int!  
completedCount Int!  

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

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!  
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

User

Name Type Description
name String!  
username String!  
avatarUrl String!  
webUrl String!