---
title: "Add a new constitution axiom to an existing POT"
method: POST
path: "/pots/{pot_id}/constitution/facts"
tags: ["pots"]
---

# Add a new constitution axiom to an existing POT

`POST /pots/{pot_id}/constitution/facts`

Add a new constitution axiom to an existing POT.

The axiom is automatically assigned pot_score=1.0 and level=CONSTITUTION.
Maximum 10 axioms per POT.

## Path parameters

- `pot_id` string, uuid, required

## Request body

- ConstitutionFactInput — A constitution fact for API-driven POT creation. IDs are auto-assigned by SciPot — integrators only provide content.
  - `content` string, required — The axiom statement
  - `title` string, nullable — Short title (max 50 chars, hard limit 80). Auto-generated from content if not provided.
  - `rationale` string, nullable — Why this is foundational
  - `keywords` string[] — Tags for search

## Response `201`

Axiom added successfully

- AddAxiomResponse — Response after adding a new constitution axiom.
  - `fact_id` string, required
  - `content` string, required
  - `pot_score` number
  - `level` string
  - `rationale` string, nullable
  - `keywords` string[]
  - `fact_count` integer, required — Total axiom count after addition

## Other responses

- `400` — Axiom limit reached (max 10)
- `404` — POT not found
- `422` — Validation Error

---

[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-service-production.skmtc.workers.dev/v1/apis/scipot/scipot-core-api/revisions/e8712e9ffeae/schema)
