---
title: "Lock a Terraform state"
method: POST
path: "/api/v4/projects/{id}/terraform/state/{name}/lock"
tags: ["terraform"]
---

# Lock a Terraform state

`POST /api/v4/projects/{id}/terraform/state/{name}/lock`

## Request

- Base URL: `https://gitlab.com`
- URL: `https://gitlab.com/api/v4/projects/{id}/terraform/state/{name}/lock`
- Auth: none declared

Locks a Terraform state for a specified project.

## Path parameters

- `id` string, required
- `name` string, required

## Request body

- PostApiV4ProjectsIdTerraformStateNameLock: Lock a Terraform state
  - `ID` string, required: Terraform state lock ID
  - `Operation` string, required: Terraform operation
  - `Info` string, required: Terraform info
  - `Who` string, required: Terraform state lock owner
  - `Version` string, required: Terraform version
  - `Created` string, required: Terraform state lock timestamp
  - `Path` string, required: Terraform path

## Response `200`

Lock a Terraform state

## Other responses

- `403`: Forbidden
- `404`: Not found
- `409`: Conflict
- `422`: Validation failure

---

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