---
title: "Update a component"
method: PATCH
path: "/components/{componentId}"
tags: ["Components"]
---

# Update a component

`PATCH /components/{componentId}`

## Request

- Base URL: `https://api.sazabi.com/v1`
- URL: `https://api.sazabi.com/v1/components/{componentId}`
- Auth: none declared

Set or clear a component's description. Unlike registration, which never lets a key overwrite a description, this is an explicit edit by a person with settings write access or by a secret key (for example Terraform). A merged component's description is read-only.

## Path parameters

- `componentId` string, uuid, required: Component ID to update.

## Request body

- object
  - `description` string, nullable, required: The component's description, or null to clear it.

## Response `200`

OK

- object
  - `component` object, required
    - `id` string, uuid, required
    - `projectId` string, uuid, required
    - `name` string, required
    - `slug` string, nullable, required: Canonical machine identifier (lower-case [a-z0-9._-]), or null when not assigned.
    - `description` string, nullable, required
    - `teamId` string, uuid, nullable, required: Owning team ID, or null when the component is unassigned.
    - `teamName` string, nullable, required: Owning team name, or null when the component is unassigned.
    - `origin` 'user_declared' | 'code_detected' | 'log_observed', required
    - `lifecycle` 'active' | 'inactive' | 'merged', required
    - `observationState` 'observed' | 'stale' | 'unobserved', required
    - `registryRevision` integer, required
    - `canonicalComponentId` string, uuid, required
    - `mergedIntoComponentId` string, uuid, nullable, required
    - `currentStatus` 'operational' | 'degraded' | 'outage', required: Current health status of this component.
    - `firstSeenAt` string, date-time, required
    - `lastSeenAt` string, date-time, required
    - `deletedAt` string, date-time, nullable, required: Timestamp when this component became inactive or was deleted, if any.
    - `inactiveAt` string, date-time, nullable, required: Timestamp when this component became inactive, if any.
    - `inactiveReason` string, nullable, required: Reason recorded when this component became inactive.
    - `legacyStateUnknown` boolean, required: True only for migration-era inactive rows whose deactivation authority is unknown.

## Changes

- **2026-10-12** `b534c363fdf8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sazabi/apis/sazabi-public-api/changes/components/:componentId/patch.md)

---

[API](https://skmtc.dev/sazabi/apis/sazabi-public-api.md) - [All operations](https://skmtc.dev/sazabi/apis/sazabi-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sazabi/apis/sazabi-public-api/revisions/965b6230cf45?raw)
