Pipory
Node reference

GitLab

GitLab node reference - all 259 operations, the credential it needs, and a worked example.

GitLab REST API (Developer tools). 259 operations: issues, issue time tracking and issue links; merge requests, approvals, notes and discussions; labels and milestones; projects, repository tree, files, branches, tags and commits; pipelines, schedules, jobs and artifacts; releases; environments and deployments; CI/CD variables; groups and members; users, to-dos and events; project and group webhooks; snippets and wiki; search. Works against gitlab.com or a self-managed host.

Credential: GitLab personal/project access token - see Credentials.

Scopes

Each operation below lists the scope it needs. Scopes are ticked when the token is created -- but GitLab gates every request on TWO independent things, and its 403 body never says which one tripped. The first is the token SCOPE: api is complete read/write over the API, read_api is the read-only half, read_repository additionally covers repository reads through the Repository Files API, and read_user covers only /user. The second is the ROLE the token's user holds in that project or group -- Guest (10), Planner (15), Reporter (20), Security Manager (25), Developer (30), Maintainer (40), Owner (50) -- because a token can never exceed its owner, so an api-scoped token belonging to a Reporter still cannot push a commit. The column below states both. The trap that costs the most time: write_repository does not work here. GitLab defines it as "read-write access to repositories on private projects using Git-over-HTTP (not using the API)", so a token created with read_repository + write_repository can git push all day and still gets a 403 from every write in this node; API writes need api, full stop. Three more failures are not scopes at all. A 401 is the token itself -- GitLab expires personal access tokens after a year by default and revokes unused ones, so "it worked last month" is a common shape of this. A 404 is very often a permission problem wearing a disguise: GitLab's own status-code table says 404 means "an ID for a resource couldn't be found, or the user isn't authorized to access the resource", so a private project the token cannot see is indistinguishable from one that does not exist. And a 429 is the rate limit -- 2,000 authenticated requests per minute per user on GitLab.com, with far tighter per-endpoint caps (5/min for repository archives, 25/min for pipeline creation), answered with RateLimit-* and Retry-After headers. One operation is outside all of this: Trigger pipeline authenticates with the project's CI/CD pipeline trigger token posted as a form field and no PRIVATE-TOKEN header at all, so an access token in that credential slot fails no matter what is ticked on it. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (259)

Issues

OperationWhat it doesScope
createIssueCreate issueapi — role: Guest or higher
updateIssueUpdate / close issueapi — role: Developer or higher
getIssueGet issueread_api (or api) — role: Reporter or higher
listProjectIssuesList project issuesread_api (or api) — role: Reporter or higher
listGroupIssuesList group issuesread_api (or api) — role: Reporter or higher
listIssuesList issues across all projectsread_api (or api) — role: Reporter or higher
deleteIssueDelete issueapi — role: Maintainer or higher
moveIssueMove issue to another projectapi — role: Developer or higher
cloneIssueClone issue into another projectapi — role: Developer or higher
reorderIssueReorder issue on a boardapi — role: Developer or higher
subscribeIssueSubscribe to issueapi — role: Guest or higher
unsubscribeIssueUnsubscribe from issueapi — role: Guest or higher
createIssueTodoAdd issue to my to-do listapi — role: Guest or higher
listIssueParticipantsList issue participantsread_api (or api) — role: Reporter or higher
listIssueRelatedMergeRequestsList merge requests that mention the issueread_api (or api) — role: Reporter or higher
listIssueClosedByList merge requests that close the issueread_api (or api) — role: Reporter or higher

Issue time tracking

OperationWhat it doesScope
setIssueTimeEstimateSet time estimateapi — role: Developer or higher
resetIssueTimeEstimateReset time estimateapi — role: Developer or higher
addIssueSpentTimeAdd spent timeapi — role: Developer or higher
resetIssueSpentTimeReset spent timeapi — role: Developer or higher
getIssueTimeStatsGet time tracking statsread_api (or api) — role: Reporter or higher
OperationWhat it doesScope
listIssueLinksList linked issuesread_api (or api) — role: Reporter or higher
getIssueLinkGet issue linkread_api (or api) — role: Reporter or higher
createIssueLinkLink two issuesapi — role: Developer or higher
deleteIssueLinkUnlink issuesapi — role: Developer or higher

Merge requests

OperationWhat it doesScope
createMergeRequestCreate merge requestapi — role: Developer or higher
updateMergeRequestUpdate merge requestapi — role: Developer or higher
getMergeRequestGet merge requestread_api (or api) — role: Reporter or higher
listProjectMergeRequestsList project merge requestsread_api (or api) — role: Reporter or higher
listGroupMergeRequestsList group merge requestsread_api (or api) — role: Reporter or higher
listMergeRequestsList merge requests across all projectsread_api (or api) — role: Reporter or higher
mergeMergeRequestMerge merge requestapi — role: Developer or higher
cancelMergeRequestAutoMergeCancel auto-mergeapi — role: Developer or higher
getMergeRequestMergeRefGet merge refread_api (or api) — role: Reporter or higher
deleteMergeRequestDelete merge requestapi — role: Maintainer or higher
rebaseMergeRequestRebase merge requestapi — role: Developer or higher
listMergeRequestCommitsList merge request commitsread_api (or api) — role: Reporter or higher
listMergeRequestDiffsList merge request diffsread_api (or api) — role: Reporter or higher
listMergeRequestChangesGet merge request changes (deprecated)read_api (or api) — role: Reporter or higher
listMergeRequestPipelinesList merge request pipelinesread_api (or api) — role: Reporter or higher
createMergeRequestPipelineRun a pipeline for the merge requestapi — role: Developer or higher
listMergeRequestClosesIssuesList issues the merge request closesread_api (or api) — role: Reporter or higher
listMergeRequestParticipantsList merge request participantsread_api (or api) — role: Reporter or higher
listMergeRequestReviewersList merge request reviewersread_api (or api) — role: Reporter or higher
subscribeMergeRequestSubscribe to merge requestapi — role: Developer or higher
unsubscribeMergeRequestUnsubscribe from merge requestapi — role: Developer or higher

Merge request approvals

OperationWhat it doesScope
approveMergeRequestApprove merge requestapi — role: Developer or higher
unapproveMergeRequestRevoke approvalapi — role: Developer or higher
getMergeRequestApprovalsGet approval statusread_api (or api) — role: Reporter or higher
getMergeRequestApprovalStateGet approval rule stateread_api (or api) — role: Reporter or higher
listMergeRequestApprovalRulesList approval rulesread_api (or api) — role: Reporter or higher
createMergeRequestApprovalRuleCreate approval ruleapi — role: Developer or higher
deleteMergeRequestApprovalRuleDelete approval ruleapi — role: Developer or higher

Notes (comments)

OperationWhat it doesScope
addNoteComment on an issue or merge requestapi — role: Guest or higher
listIssueNotesList issue commentsread_api (or api) — role: Reporter or higher
getIssueNoteGet issue commentread_api (or api) — role: Reporter or higher
updateIssueNoteUpdate issue commentapi — role: Developer or higher
deleteIssueNoteDelete issue commentapi — role: Developer or higher
listMergeRequestNotesList merge request commentsread_api (or api) — role: Reporter or higher
getMergeRequestNoteGet merge request commentread_api (or api) — role: Reporter or higher
updateMergeRequestNoteUpdate merge request commentapi — role: Developer or higher
deleteMergeRequestNoteDelete merge request commentapi — role: Developer or higher

Discussions (threads)

OperationWhat it doesScope
listIssueDiscussionsList issue discussionsread_api (or api) — role: Reporter or higher
getIssueDiscussionGet issue discussionread_api (or api) — role: Reporter or higher
createIssueDiscussionStart an issue discussionapi — role: Guest or higher
addIssueDiscussionNoteReply in an issue discussionapi — role: Guest or higher
listMergeRequestDiscussionsList merge request discussionsread_api (or api) — role: Reporter or higher
getMergeRequestDiscussionGet merge request discussionread_api (or api) — role: Reporter or higher
createMergeRequestDiscussionStart a merge request discussionapi — role: Developer or higher
addMergeRequestDiscussionNoteReply in a merge request discussionapi — role: Developer or higher
resolveMergeRequestDiscussionResolve / unresolve a discussionapi — role: Developer or higher
listCommitDiscussionsList commit discussionsread_api (or api) — role: Reporter or higher

Labels

OperationWhat it doesScope
listLabelsList project labelsread_api (or api) — role: Reporter or higher
getLabelGet project labelread_api (or api) — role: Reporter or higher
createLabelCreate project labelapi — role: Developer or higher
updateLabelUpdate project labelapi — role: Developer or higher
deleteLabelDelete project labelapi — role: Developer or higher
promoteLabelPromote project label to group labelapi — role: Maintainer or higher
subscribeLabelSubscribe to labelapi — role: Guest or higher
unsubscribeLabelUnsubscribe from labelapi — role: Guest or higher
listGroupLabelsList group labelsread_api (or api) — role: Reporter or higher
createGroupLabelCreate group labelapi — role: Maintainer or higher
updateGroupLabelUpdate group labelapi — role: Maintainer or higher
deleteGroupLabelDelete group labelapi — role: Maintainer or higher

Milestones

OperationWhat it doesScope
listMilestonesList project milestonesread_api (or api) — role: Reporter or higher
getMilestoneGet project milestoneread_api (or api) — role: Reporter or higher
createMilestoneCreate project milestoneapi — role: Developer or higher
updateMilestoneUpdate project milestoneapi — role: Developer or higher
deleteMilestoneDelete project milestoneapi — role: Developer or higher
promoteMilestonePromote project milestone to group milestoneapi — role: Maintainer or higher
listMilestoneIssuesList milestone issuesread_api (or api) — role: Reporter or higher
listMilestoneMergeRequestsList milestone merge requestsread_api (or api) — role: Reporter or higher
listGroupMilestonesList group milestonesread_api (or api) — role: Reporter or higher
createGroupMilestoneCreate group milestoneapi — role: Maintainer or higher
updateGroupMilestoneUpdate group milestoneapi — role: Maintainer or higher

Projects

OperationWhat it doesScope
getProjectGet projectread_api (or api) — role: Reporter or higher
listProjectsList projectsread_api (or api) — role: Reporter or higher
listUserProjectsList a user's projectsread_api (or api) — role: Reporter or higher
createProjectCreate projectapi — role: Maintainer or higher
updateProjectUpdate projectapi — role: Maintainer or higher
deleteProjectDelete projectapi — role: Owner or higher
forkProjectFork projectapi — role: Maintainer or higher
listProjectForksList forksread_api (or api) — role: Reporter or higher
starProjectStar projectapi — role: Developer or higher
unstarProjectUnstar projectapi — role: Developer or higher
archiveProjectArchive projectapi — role: Maintainer or higher
unarchiveProjectUnarchive projectapi — role: Maintainer or higher
listProjectUsersList project usersread_api (or api) — role: Reporter or higher
shareProjectWithGroupShare project with a groupapi — role: Maintainer or higher
listProjectLanguagesList project languagesread_api (or api) — role: Reporter or higher

Repository

OperationWhat it doesScope
listRepositoryTreeList repository treeread_api or read_repository (or api) — role: Reporter or higher
getBlobGet blob metadataread_api or read_repository (or api) — role: Reporter or higher
getBlobRawGet blob contents (raw)read_api or read_repository (or api) — role: Reporter or higher
compareRefsCompare two refsread_api (or api) — role: Reporter or higher
listContributorsList contributorsread_api (or api) — role: Reporter or higher
getMergeBaseGet merge base of two refsread_api (or api) — role: Reporter or higher

Repository files

OperationWhat it doesScope
commitFileCreate / update fileapi — role: Developer or higher
getFileGet fileread_api or read_repository (or api) — role: Reporter or higher
getRawFileGet file contents (raw)read_api or read_repository (or api) — role: Reporter or higher
deleteFileDelete fileapi — role: Developer or higher
getFileBlameGet file blameread_api or read_repository (or api) — role: Reporter or higher

Branches & tags

OperationWhat it doesScope
listBranchesList branchesread_api (or api) — role: Reporter or higher
getBranchGet branchread_api (or api) — role: Reporter or higher
createBranchCreate branchapi — role: Developer or higher
deleteBranchDelete branchapi — role: Developer or higher
deleteMergedBranchesDelete all merged branchesapi — role: Maintainer or higher
listProtectedBranchesList protected branchesread_api (or api) — role: Maintainer or higher
protectBranchProtect branchapi — role: Maintainer or higher
unprotectBranchUnprotect branchapi — role: Maintainer or higher
createTagCreate tagapi — role: Developer or higher
listTagsList tagsread_api (or api) — role: Reporter or higher
getTagGet tagread_api (or api) — role: Reporter or higher
deleteTagDelete tagapi — role: Developer or higher

Commits

OperationWhat it doesScope
listCommitsList commitsread_api (or api) — role: Reporter or higher
getCommitGet commitread_api (or api) — role: Reporter or higher
createCommitCreate commit (multiple file actions)api — role: Developer or higher
cherryPickCommitCherry-pick commitapi — role: Developer or higher
revertCommitRevert commitapi — role: Developer or higher
getCommitDiffGet commit diffread_api (or api) — role: Reporter or higher
listCommitRefsList refs a commit is pushed toread_api (or api) — role: Reporter or higher
listCommitMergeRequestsList merge requests containing the commitread_api (or api) — role: Reporter or higher
listCommitCommentsList commit commentsread_api (or api) — role: Reporter or higher
createCommitCommentComment on a commitapi — role: Developer or higher
listCommitStatusesList commit statusesread_api (or api) — role: Reporter or higher
setCommitStatusSet commit statusapi — role: Developer or higher

Pipelines

OperationWhat it doesScope
triggerPipelineTrigger pipeline (trigger token)(no API scope at all — this operation authenticates with the project's CI/CD PIPELINE TRIGGER TOKEN sent as a form field, never with a personal access token. Create one under Settings > CI/CD > Pipeline trigger tokens and store THAT as the credential.)
createPipelineCreate pipelineapi — role: Developer or higher
listPipelinesList pipelinesread_api (or api) — role: Reporter or higher
getPipelineGet pipelineread_api (or api) — role: Reporter or higher
getLatestPipelineGet the latest pipeline for a refread_api (or api) — role: Reporter or higher
retryPipelineRetry pipelineapi — role: Developer or higher
cancelPipelineCancel pipelineapi — role: Developer or higher
deletePipelineDelete pipelineapi — role: Developer or higher
getPipelineVariablesGet pipeline variablesread_api (or api) — role: Reporter or higher
getPipelineTestReportGet pipeline test reportread_api (or api) — role: Reporter or higher
listPipelineSchedulesList pipeline schedulesread_api (or api) — role: Reporter or higher
getPipelineScheduleGet pipeline scheduleread_api (or api) — role: Reporter or higher
createPipelineScheduleCreate pipeline scheduleapi — role: Developer or higher
updatePipelineScheduleUpdate pipeline scheduleapi — role: Developer or higher
deletePipelineScheduleDelete pipeline scheduleapi — role: Developer or higher
playPipelineScheduleRun a pipeline schedule nowapi — role: Developer or higher

Jobs & artifacts

OperationWhat it doesScope
listProjectJobsList project jobsread_api (or api) — role: Reporter or higher
listPipelineJobsList pipeline jobsread_api (or api) — role: Reporter or higher
listPipelineTriggerJobsList pipeline trigger (bridge) jobsread_api (or api) — role: Reporter or higher
getJobGet jobread_api (or api) — role: Reporter or higher
getJobLogGet job logread_api (or api) — role: Reporter or higher
cancelJobCancel jobapi — role: Developer or higher
retryJobRetry jobapi — role: Developer or higher
eraseJobErase jobapi — role: Developer or higher
playJobRun a manual jobapi — role: Developer or higher
listJobArtifactFilesList files inside a job's artifactsread_api (or api) — role: Reporter or higher
keepJobArtifactsKeep job artifactsapi — role: Developer or higher
deleteJobArtifactsDelete job artifactsapi — role: Maintainer or higher

Releases

OperationWhat it doesScope
listReleasesList releasesread_api (or api) — role: Reporter or higher
getReleaseGet releaseread_api (or api) — role: Reporter or higher
createReleaseCreate releaseapi — role: Developer or higher
updateReleaseUpdate releaseapi — role: Developer or higher
deleteReleaseDelete releaseapi — role: Maintainer or higher
listReleaseLinksList release asset linksread_api (or api) — role: Reporter or higher
createReleaseLinkCreate release asset linkapi — role: Developer or higher
deleteReleaseLinkDelete release asset linkapi — role: Developer or higher

Environments & deployments

OperationWhat it doesScope
listEnvironmentsList environmentsread_api (or api) — role: Reporter or higher
getEnvironmentGet environmentread_api (or api) — role: Reporter or higher
createEnvironmentCreate environmentapi — role: Developer or higher
updateEnvironmentUpdate environmentapi — role: Developer or higher
deleteEnvironmentDelete environmentapi — role: Developer or higher
stopEnvironmentStop environmentapi — role: Developer or higher
listDeploymentsList deploymentsread_api (or api) — role: Reporter or higher
getDeploymentGet deploymentread_api (or api) — role: Reporter or higher
createDeploymentCreate deploymentapi — role: Developer or higher
updateDeploymentUpdate deploymentapi — role: Developer or higher
approveDeploymentApprove / reject a blocked deploymentapi — role: Developer or higher
listDeploymentMergeRequestsList merge requests in a deploymentread_api (or api) — role: Reporter or higher

CI/CD variables

OperationWhat it doesScope
createVariableCreate project variableapi — role: Maintainer or higher
listProjectVariablesList project variablesread_api (or api) — role: Maintainer or higher
getProjectVariableGet project variableread_api (or api) — role: Maintainer or higher
updateProjectVariableUpdate project variableapi — role: Maintainer or higher
deleteProjectVariableDelete project variableapi — role: Maintainer or higher
listGroupVariablesList group variablesread_api (or api) — role: Owner or higher
getGroupVariableGet group variableread_api (or api) — role: Owner or higher
createGroupVariableCreate group variableapi — role: Owner or higher
updateGroupVariableUpdate group variableapi — role: Owner or higher
deleteGroupVariableDelete group variableapi — role: Owner or higher

Groups & members

OperationWhat it doesScope
listGroupsList groupsread_api (or api) — role: Reporter or higher
getGroupGet groupread_api (or api) — role: Reporter or higher
createGroupCreate groupapi — role: Owner or higher
updateGroupUpdate groupapi — role: Owner or higher
deleteGroupDelete groupapi — role: Owner or higher
listSubgroupsList subgroupsread_api (or api) — role: Reporter or higher
listDescendantGroupsList descendant groupsread_api (or api) — role: Reporter or higher
listGroupProjectsList group projectsread_api (or api) — role: Reporter or higher
shareGroupWithGroupShare group with another groupapi — role: Owner or higher
listProjectMembersList project membersread_api (or api) — role: Reporter or higher
listAllProjectMembersList project members (including inherited)read_api (or api) — role: Reporter or higher
getProjectMemberGet project memberread_api (or api) — role: Reporter or higher
addProjectMemberAdd project memberapi — role: Maintainer or higher
editProjectMemberChange a project member's access levelapi — role: Maintainer or higher
removeProjectMemberRemove project memberapi — role: Maintainer or higher
listGroupMembersList group membersread_api (or api) — role: Reporter or higher
listAllGroupMembersList group members (including inherited)read_api (or api) — role: Reporter or higher
addGroupMemberAdd group memberapi — role: Owner or higher
editGroupMemberChange a group member's access levelapi — role: Owner or higher
removeGroupMemberRemove group memberapi — role: Owner or higher

Users, to-dos & events

OperationWhat it doesScope
getCurrentUserGet the authenticated userread_user (or read_api, or api) — any authenticated user
listUsersList usersread_api (or api) — role: Guest or higher
getUserGet userread_api (or api) — role: Guest or higher
getUserStatusGet a user's statusread_api (or api) — role: Guest or higher
listTodosList my to-dosread_api (or api) — role: Guest or higher
markTodoDoneMark a to-do doneapi — role: Guest or higher
markAllTodosDoneMark all to-dos doneapi — role: Guest or higher
listMyEventsList my eventsread_api (or api) — role: Guest or higher
listUserEventsList a user's eventsread_api (or api) — role: Guest or higher
listProjectEventsList project eventsread_api (or api) — role: Reporter or higher

Webhooks

OperationWhat it doesScope
listProjectHooksList project webhooksread_api (or api) — role: Maintainer or higher
getProjectHookGet project webhookread_api (or api) — role: Maintainer or higher
createProjectHookCreate project webhookapi — role: Maintainer or higher
updateProjectHookUpdate project webhookapi — role: Maintainer or higher
deleteProjectHookDelete project webhookapi — role: Maintainer or higher
listGroupHooksList group webhooksread_api (or api) — role: Owner or higher
getGroupHookGet group webhookread_api (or api) — role: Owner or higher
createGroupHookCreate group webhookapi — role: Owner or higher
updateGroupHookUpdate group webhookapi — role: Owner or higher
deleteGroupHookDelete group webhookapi — role: Owner or higher

Snippets & wiki

OperationWhat it doesScope
listProjectSnippetsList project snippetsread_api (or api) — role: Reporter or higher
getProjectSnippetGet project snippetread_api (or api) — role: Reporter or higher
getProjectSnippetRawGet project snippet contents (raw)read_api (or api) — role: Reporter or higher
createProjectSnippetCreate project snippetapi — role: Developer or higher
updateProjectSnippetUpdate project snippetapi — role: Developer or higher
deleteProjectSnippetDelete project snippetapi — role: Developer or higher
listSnippetsList my snippetsread_api (or api) — role: Guest or higher
createSnippetCreate personal snippetapi — role: Guest or higher
listWikiPagesList wiki pagesread_api (or api) — role: Reporter or higher
getWikiPageGet wiki pageread_api (or api) — role: Reporter or higher
createWikiPageCreate wiki pageapi — role: Developer or higher
updateWikiPageUpdate wiki pageapi — role: Developer or higher
deleteWikiPageDelete wiki pageapi — role: Developer or higher
OperationWhat it doesScope
searchSearch the whole instanceread_api (or api) — role: Guest or higher
searchGroupSearch within a groupread_api (or api) — role: Reporter or higher
searchProjectSearch within a projectread_api (or api) — role: Reporter or higher