---
title: "PUT /api/v4/jobs/{id}"
method: PUT
path: "/api/v4/jobs/{id}"
tags: ["jobs"]
---

# PUT /api/v4/jobs/{id}

`PUT /api/v4/jobs/{id}`

## Request

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

Update a job

## Path parameters

- `id` integer, required

## Request body

- PutApiV4JobsId: Update a job
  - `token` string, required: Job's authentication token
  - `state` string: Job's status: running, success, failed
  - `checksum` string: Job's trace CRC32 checksum
  - `failure_reason` string: Job's failure_reason
  - `output` object: Build log state
    - `checksum` string: Job's trace CRC32 checksum
    - `bytesize` integer: Job's trace size in bytes
  - `exit_code` integer: Job's exit code
  - `runtime_environment_key` string: Runtime environment key emitted by the runner on job suspension

## Response `200`

Job was updated

## Other responses

- `202`: Update accepted
- `400`: Unknown parameters
- `403`: Forbidden
- `409`: Conflict
- `429`: Too Many Requests

---

[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)
