---
title: "Deregister a component"
method: POST
path: "/components/{componentId}/deregister"
tags: ["Components"]
---

# Deregister a component

`POST /components/{componentId}/deregister`

Withdraw this credential's component observation, or — for a human caller — preview the deregistration and confirm it by resubmitting with the previewed componentRevisions.

## Path parameters

- `componentId` string, uuid, required — Component ID to deregister.

## Request body

- object
  - `reason` string — Reason for audit logging. Required when confirming a deregistration.
  - `requestId` string, uuid — Project-scoped idempotency key. Required when confirming a deregistration.
  - `componentRevisions` object — Exact canonical-group revisions returned by the deregistration preview. Presence confirms the deregistration; omit to receive a preview.
  - `confirmCanonicalGroup` boolean — Explicitly confirm deregistering the complete canonical group when the request used a merged source.

## Response `200`

OK

- union
  - object
    - `status` 'observation_withdrawn', required
    - `componentId` string, uuid, required
    - `sourceType` 'secret_key', required
    - `withdrawn` boolean, required
  - object
    - `status` 'deregistration_confirmation_required', required
    - `preview` object, required
      - `requestedComponentId` string, uuid, required
      - `canonicalComponentId` string, uuid, required
      - `canonicalComponentName` string, required
      - `lifecycle` 'active' | 'inactive', required
      - `affectedComponentIds` string[], required
      - `componentRevisions` object, required
      - `requiresCanonicalGroupConfirmation` boolean, required
      - `recommendationScopeEnabled` unknown, required
      - `dependents` object, required
        - `openIssueIds` string[], required
        - `activeComponentIssueIds` string[], required
        - `automationBindingIds` string[], required
        - `notificationRuleIds` string[], required
        - `dataSourceMappingIds` string[], required
        - `observationIds` string[], required
        - `relationshipIds` string[], required
        - `recommendationScopeIds` string[], required
        - `externalIncidentIds` string[], required
        - `authorizedDeliveryIds` string[], required
        - `authorizedAutomationRunIds` string[], required
      - `counts` object, required
  - object
    - `status` 'deregistered', required
    - `result` object, required
      - `operationId` string, uuid, required
      - `status` 'committed' | 'complete' | 'followup_failed', required
      - `requestedComponentId` string, uuid, required
      - `canonicalComponentId` string, uuid, required
      - `affectedComponentIds` string[], required
      - `counts` object, required
      - `authorizedDeliveryIds` string[], required
      - `authorizedAutomationRunIds` string[], required
      - `manualExternalIncidentIds` string[], required
      - `issueAutomationSuppressions` integer, required
      - `outboxEffectCount` integer, required
      - `manifest` object, required
        - `notificationRules` object[], required
          - `id` string, uuid, required
          - `rowRevision` integer, required
        - `automationBindings` object[], required
          - `id` string, uuid, required
          - `rowRevision` integer, required
        - `relationships` object[], required
          - `id` string, uuid, required
          - `rowRevision` integer, required
      - `followups` object

---

[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-service-production.skmtc.workers.dev/v1/apis/sazabi/sazabi-public-api/revisions/1d12b71c735a/schema)
