---
title: "Update or deactivate an engineering rule"
method: POST
path: "/api/v1/engineering-rules/{id}"
tags: ["Execution"]
---

# Update or deactivate an engineering rule

`POST /api/v1/engineering-rules/{id}`

## Request

- Base URL: `https://www.specky.space`
- URL: `https://www.specky.space/api/v1/engineering-rules/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, uuid, required

## Request body

- EngineeringRuleUpdateRequest
  - `statement` string
  - `level` 'mandatory' | 'recommended' | 'optional'
  - `collection` string, nullable
  - `tags` string[]
  - `languages` string[]
  - `frameworks` string[]
  - `keywords` string[]
  - `must_include_files` string[]
  - `must_not_include_files` string[]
  - `provenance` string, nullable
  - `enabled` boolean

## Response `200`

Successful response. Always includes `summary` (string) and `ok: true`; mutating endpoints additionally include the created resource id under a tool-specific key.

- OkSummary
  - `ok` true
  - `summary` string: Human-readable result text.

## Other responses

- `400`: Invalid request body or path
- `401`: Missing or invalid bearer token

---

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