---
title: "Run a job"
method: POST
path: "/api/v4/projects/{id}/jobs/{job_id}/play"
tags: ["ci_jobs"]
---

# Run a job

`POST /api/v4/projects/{id}/jobs/{job_id}/play`

## Request

- Base URL: `https://gitlab.com`
- URL: `https://gitlab.com/api/v4/projects/{id}/jobs/{job_id}/play`
- Auth: none declared

Runs a specified job. For a job in manual status, triggers an action to start the job.

## Path parameters

- `job_id` integer, required
- `id` integer, required

## Request body

- PostApiV4ProjectsIdJobsJobIdPlay: Run a job
  - `job_variables_attributes` object[]: User defined variables that will be included when running the job
    - `key` string, required: The name of the variable
    - `value` string, required: The value of the variable
  - `job_inputs` object: Input values for the job

## Response `200`

Run a job

- APIEntitiesCiJobBasic: API_Entities_Ci_JobBasic model
  - `id` integer, required
  - `status` string, required
  - `stage` string, required
  - `name` string, required
  - `ref` string, required
  - `tag` boolean, required
  - `coverage` number, float, required
  - `allow_failure` boolean, required
  - `created_at` string, date-time, required
  - `started_at` string, date-time, required
  - `finished_at` string, date-time, required
  - `erased_at` string, date-time, required
  - `duration` number, float, required: Time spent running
  - `queued_duration` number, float, required: Time spent enqueued
  - `user` APIEntitiesUser, required
    - `id` integer, required
    - `username` string, required
    - `public_email` string, required
    - `name` string, required
    - `state` string, required
    - `locked` boolean, required
    - `avatar_url` string, required
    - `avatar_path` string
    - `custom_attributes` APIEntitiesCustomAttribute[]
      - `key` string, required
      - `value` string, required
    - `web_url` string, required
    - `created_at` string
    - `bio` string, required
    - `location` string, required
    - `linkedin` string, required
    - `twitter` string, required
    - `discord` string, required
    - `website_url` string, required
    - `github` string, required
    - `job_title` string, required
    - `pronouns` string, required
    - `organization` string, required
    - `bot` boolean, required
    - `work_information` string, required
    - `followers` string
    - `following` string
    - `is_followed` string
    - `local_time` string, required
  - `commit` APIEntitiesCommit, required: API_Entities_Commit model
    - `id` string, required
    - `short_id` string, required
    - `created_at` string, date-time, required
    - `parent_ids` string[], required
    - `title` string, required
    - `message` string, required
    - `author_name` string, required
    - `author_email` string, required
    - `authored_date` string, date-time, required
    - `committer_name` string, required
    - `committer_email` string, required
    - `committed_date` string, date-time, required
    - `trailers` object, required
    - `extended_trailers` object, required
    - `web_url` string, required
  - `pipeline` APIEntitiesCiPipelineBasic, required: API_Entities_Ci_PipelineBasic model
    - `id` integer, required
    - `iid` integer, required
    - `project_id` integer, required
    - `sha` string, required
    - `ref` string, required
    - `status` string, required
    - `source` string, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `web_url` string, required
  - `failure_reason` string
  - `web_url` string, required
  - `project` object, required
    - `ci_job_token_scope_enabled` string, required

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found

---

[API](https://skmtc.dev/gitlab/apis/gitlab-api.md) - [All operations](https://skmtc.dev/gitlab/apis/gitlab-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitlab/apis/gitlab-api/revisions/b234947ef3f2?raw)
