---
title: "Renew a named job lock and record progress"
method: PUT
path: "/jobLocks/{lock_name}"
tags: ["JobLock"]
---

# Renew a named job lock and record progress

`PUT /jobLocks/{lock_name}`

Renew a held lock, optionally replacing its progress. The server sets the heartbeat time. Restricted to API keys with global write permission on the lock namespace's scope target.

## Path parameters

- `lock_name` string, required

## Request body

- JobLockUpdate — Renews or releases a held lock
  - `lock_key` string, required — Key returned when the lock was acquired
  - `progress` string — Opaque progress to store, at most 8192 bytes as UTF-8. Omit to keep the stored progress.

## Response `200`

Lock renewed

- JobLockHeartbeatResult — A renewed lock
  - `lock_name` string, required — Name of the lock
  - `last_updated` integer, required — Epoch milliseconds of this heartbeat, set by the server

## Other responses

- `400` — Invalid or missing parameter
- `401` — User not authenticated
- `403` — User not authorized
- `404` — Entity not found
- `409` — Conflicts with the current state of the resource
- `default` — Unknown error

---

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