---
title: "Update privacy config for organization"
method: PATCH
path: "/v1/privacy/config"
tags: ["privacy"]
---

# Update privacy config for organization

`PATCH /v1/privacy/config`

## Request body

- PrivacyConfigUpdate
  - `pii_scrubbing_enabled` boolean, nullable
  - `scrub_types` string[], nullable
  - `custom_deny_patterns` CustomDenyPattern[], nullable
    - `name` string, required
    - `regex` string, required
    - `replacement_label` string, required
    - `description` string, nullable
    - `score` number — Presidio confidence reported for matches of this pattern. Must be >= the org's score_threshold, otherwise Presidio silently drops every match and the pattern appears broken.
  - `custom_allow_patterns` CustomAllowPattern[], nullable
    - `name` string, required
    - `regex` string, required
    - `description` string, nullable
  - `score_threshold` number, nullable
  - `audio_scrubbing_enabled` boolean, nullable
  - `audio_retention_policy` 'transcript_only' | 'redacted_audio_retained' | 'raw', nullable
  - `audio_redaction_fill` 'silence' | 'tone_1khz', nullable
  - `supported_languages` string[], nullable
  - `default_language` string, nullable
  - `language_detection_enabled` boolean, nullable

## Response `200`

Successful Response

- PrivacyConfigResponse
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `pii_scrubbing_enabled` boolean, required
  - `scrub_types` string[], required
  - `custom_deny_patterns` CustomDenyPattern[], required
    - `name` string, required
    - `regex` string, required
    - `replacement_label` string, required
    - `description` string, nullable
    - `score` number — Presidio confidence reported for matches of this pattern. Must be >= the org's score_threshold, otherwise Presidio silently drops every match and the pattern appears broken.
  - `custom_allow_patterns` CustomAllowPattern[], required
    - `name` string, required
    - `regex` string, required
    - `description` string, nullable
  - `score_threshold` number, required
  - `audio_scrubbing_enabled` boolean, required
  - `audio_retention_policy` string, required
  - `audio_redaction_fill` string, required
  - `supported_languages` string[], required
  - `default_language` string, required
  - `language_detection_enabled` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `404` — Resource not found
- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/versions/888bdd5c076e/schema)
