---
title: "Keep contract lock alive"
method: POST
path: "/bus/contract/{id}/keepalive"
tags: ["bus"]
---

# Keep contract lock alive

`POST /bus/contract/{id}/keepalive`

When a contract lock gets acquired, a certain timeout is applied. This lock can be kept alive by sending a keepalive request. If the lock is not kept alive, it will be released automatically after the timeout.

## Path parameters

- `id` string, required — A unique identifier for a file contract

## Request body

- object
  - `duration` integer — The amount of miliseconds to extend the lock by
  - `lockID` ContractLockID
    - `lockID` integer — The ID of the lock

## Response `200`

Contract lock keepalive successful

## Other responses

- `500` — Internal server error

## Changes

- **2024-12-18** `922f156353c9` — 1 breaking, 1 info
  - removed the media type `text/plain` for the response with the status `500`
  - api tag `bus` added
- **2024-12-17** `acbb46c060cb` — 1 info
  - endpoint added
- **2024-12-09** `f062c35d8f47` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/siafoundation/apis/renterd-api/changes/bus/contract/:id/keepalive/post.md)

---

[API](https://skmtc.dev/siafoundation/apis/renterd-api.md) · [All operations](https://skmtc.dev/siafoundation/apis/renterd-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/siafoundation/renterd-api/revisions/184a3d5207da/schema)
