Lesstep
GitLab · CI/CD pipelines · pipelines and jobs API · Checked October 24, 2026

GitLab: why the pipeline or the job was refused

When you run a new pipeline through the API (POST /projects/:id/pipeline), GitLab answers 403 if your account may not create pipelines in the project at all, and otherwise 400 with its reason under message.base. Retrying, cancelling and running jobs answer in their own ways. All of this is from GitLab's source (lib/api/ci/pipelines.rb, lib/api/ci/jobs.rb and the steps that create a pipeline), read on October 24, 2026:

HTTP/1.1 400 Bad Request

{"message":{"base":["Reference not found"]}}

Running a new pipeline: 400

The reasons, in the order GitLab checks them:

In the web interface the two rules messages link to the documentation. The API sends them as plain text.

Running a new pipeline: 403

{"message":"403 Forbidden"}: your role in the project may not create pipelines. A token without the api scope is refused with 403 too, but the answer says insufficient_scope; see which scope to add.

Retrying, cancelling and running jobs

What to do

GitLab pipelines in IntelliJ IDEA

Pipeline Inbox for GitLab CI, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists your GitLab projects' pipelines with their jobs and logs, and with Pro retries, cancels and runs them. In the job list it offers Retry and Run only where GitLab says they are possible (from version 1.0.21, Run only where GitLab says your account may run the job). When GitLab will not start a new pipeline, the dialog stays open with GitLab's reason, such as the rules messages above. When GitLab refuses another change, the plugin says so with GitLab's words: for 403, that your role or a protected branch (from version 1.0.21, also a protected environment) may not allow it; at the request limit, to wait a minute (from version 1.0.21, when GitLab asks for longer, the time it opens again). From version 1.0.15, for 403 "Job is not retryable", it says instead that GitLab will not run that job again and to refresh to see its latest run. Reading is free; retrying, cancelling and running are Pro (US$1.50 a month, with a 30-day trial).

GITLAB is a trademark of GitLab Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitLab Inc. or JetBrains.

More: GitLab "Insufficient permissions to set pipeline variables" · GitLab job log refused or empty (403, 404) · GitLab job dropped as stuck or over its timeout · GitLab "You are not authorized to run this manual job" · GitLab pipeline failed with no jobs · GitLab "insufficient_scope" · GitLab 401 "invalid_token" · GitLab 404 "Project Not Found" · GitLab 404 "Group Not Found" · GitLab pipeline plugins for IntelliJ IDEA, compared · 日本語