---
title: "Update a POT's name, description or domain"
method: PATCH
path: "/pots/{pot_id}"
tags: ["pots"]
---

# Update a POT's name, description or domain

`PATCH /pots/{pot_id}`

Change the fields the extraction prompt reads as the POT's context.

``description`` is the POT mission and ``domain`` the POT domain of every
extraction prompt; a change applies from the next ingestion on (facts
already extracted are not revisited). The slug and the constitution are
managed elsewhere (`/constitution/facts`).

## Path parameters

- `pot_id` string, uuid, required

## Request body

- POTUpdate — Request body for ``PATCH /pots/{pot_id}``. The three fields the extraction prompt reads as the POT's context (``pot_domain`` and ``pot_mission`` = the description); the slug and the constitution are not changed here. A field left out keeps its value; an empty description clears the mission.
  - `name` string, nullable
  - `description` string, nullable
  - `domain` string, nullable

## Response `200`

POT updated

- POTResponse — POT for API responses.
  - `id` string, uuid, required
  - `slug` string, required
  - `workspace_id` string, uuid, required
  - `name` string, required
  - `description` string, required
  - `domain` string — Knowledge domain of the POT (from config.pot.domain). Exposed so clients — e.g. `scipot pot export` — can round-trip it; the coverage-gap routing key derives from it.
  - `constitution` ConstitutionResponse, required — Constitution for API responses.
    - `facts` ConstitutionFactResponse[], required
      - `id` string, required
      - `content` string, required
      - `title` string, nullable
      - `pot_score` number, required
      - `level` string, required
      - `rationale` string, nullable
      - `keywords` string[]
      - `active` boolean — False when deactivated: operations skip the axiom
      - `deactivated_at` string, nullable
      - `deactivation_reason` string, nullable
    - `version` string
    - `last_updated` string, required
    - `approved_by` string, required
    - `fact_count` integer, required
    - `active_count` integer — Axioms operations take into account
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `404` — POT not found
- `422` — No field sent, an unknown field, or a value out of bounds

## Changes

- **2026-09-19** `ca6a26a17b6d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/scipot/apis/scipot-core-api/changes/pots/:pot_id/patch.md)

---

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