---
title: "Place a legal hold"
method: POST
path: "/apiops/projects/{projectName}/legal-holds"
tags: ["LegalHold"]
---

# Place a legal hold

`POST /apiops/projects/{projectName}/legal-holds`

## Request

- Base URL: `http://167.86.118.166:32080`
- URL: `http://167.86.118.166:32080/apiops/projects/{projectName}/legal-holds`
- Auth: none declared
- TypeScript: <https://skmtc.dev/apinizer/apis/apinizer-management-apis/docs/apiops/projects/:projectName/legal-holds/post.ts> (a function with typed inputs; its response is checked against the schema)

Blocks every destructive operation on the subject until the hold is released. 409 while one is already active on that subject.

## Path parameters

- `projectName` string, required

## Request body

- ApiOpsLegalHoldRequestDTO
  - `subject` ApiOpsLifecycleSubjectDTO
    - `subjectType` 'ORGANIZATION' | 'CONSUMER' | 'APPLICATION' | 'API_CLIENT'
    - `consumerKey` string
    - `apiClientKey` string
    - `applicationKey` string
    - `organizationCode` string
  - `reason` string
  - `reference` string

## Response `200`

OK

- ApiOpsResponseLegalHold
  - `holdId` string
  - `subjectType` 'ORGANIZATION' | 'CONSUMER' | 'APPLICATION' | 'API_CLIENT'
  - `subjectKey` string
  - `status` string
  - `reason` string
  - `reference` string
  - `placedBy` string
  - `placedAt` string, date-time
  - `releasedBy` string
  - `releasedAt` string, date-time
  - `releaseReason` string

---

[API](https://skmtc.dev/apinizer/apis/apinizer-management-apis.md) - [All operations](https://skmtc.dev/apinizer/apis/apinizer-management-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/apinizer/apis/apinizer-management-apis/revisions/e083046b24cd?raw)
