---
title: "PUT /api/activity/custom-language-list/"
method: PUT
path: "/api/activity/custom-language-list/"
tags: ["activity"]
---

# PUT /api/activity/custom-language-list/

`PUT /api/activity/custom-language-list/`

Replace or upsert the caller's organization Custom Language List from a bulk upload. Each ``{term, category, severity}`` row's ``term`` is canonicalized (lowercase + trimmed) and duplicate terms in one batch are collapsed last-wins. Re-uploading a term updates its category/severity in place; when ``replace`` is true, terms absent from the upload are also deleted so the stored list matches the file exactly. ``upserted`` / ``deleted`` count terms. Admin/manager + ``activity-tracking`` flag gated; scoped to the caller's organization.

## Request body

- CustomLanguageListUpload
  - `organization` string, uuid, required
  - `replace` boolean
  - `entries` object[], required
    - `term` string, required
    - `category` 'profanity' | 'slurs_hate' | 'sexual' | 'threats' | 'custom'
    - `severity` 'low' | 'medium' | 'high'

## Response `200`

---

[API](https://skmtc.dev/pixiebrix/apis/pixiebrix-api.md) · [All operations](https://skmtc.dev/pixiebrix/apis/pixiebrix-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pixiebrix/pixiebrix-api/revisions/941ab9eb01d6/schema)
