---
title: "Update firm memory entry (creator-only) · 0 credits"
method: PATCH
path: "/api/v1/firm-memory/{id}"
tags: ["Firm Memory"]
---

# Update firm memory entry (creator-only) · 0 credits

`PATCH /api/v1/firm-memory/{id}`

## Request

- Base URL: `https://legal.nexusquantum.legal`
- URL: `https://legal.nexusquantum.legal/api/v1/firm-memory/{id}`
- Auth: HTTP bearer

Partial update: send only the fields to change. Creator-only (someone else's or nonexistent → 404). Each change to content/scope archives a snapshot and bumps `version`. An empty string in jurisdiction/subject_matter/case_id clears that field. No charge.

## Path parameters

- `id` string, uuid, required

## Request body

- UpdateFirmMemoryRequest: PARTIAL update: send only the fields to change. An empty string in jurisdiction/subject_matter/case_id clears that field.
  - `title` string
  - `content` string
  - `category` 'clausula' | 'tono' | 'riesgo' | 'formato' | 'general'
  - `active` boolean
  - `sort_order` integer
  - `jurisdiction` string: New scope code, or an empty string to clear it.
  - `subject_matter` string: New subject matter, or an empty string to clear it.
  - `case_id` string: New case UUID (from your firm), or an empty string to unlink it.

## Response `200`

FirmMemory updated.

- FirmMemory: FIRM MEMORY entry (persistent playbook/tone/risk/format that grounds analyses and drafts). Reads are firm-scoped (every firm member); writes are creator-only (only the creator — `user_id` — can edit or delete). `jurisdiction`/`subject_matter`/`case_id` are OPTIONAL SCOPE fields of the record, NOT routing defaults. Every content/scope edit archives a snapshot and bumps `version`.
  - `id` string, uuid
  - `category` 'clausula' | 'tono' | 'riesgo' | 'formato' | 'general': Entry category (default general).
  - `title` string
  - `content` string
  - `active` boolean
  - `sort_order` integer: Display order (default 0).
  - `jurisdiction` string, nullable: ISO code scoping the entry (ES, CO…). OPTIONAL; NEVER assumed by default.
  - `subject_matter` string, nullable: Legal subject matter scope (e.g. laboral).
  - `case_id` string, uuid, nullable: Associated case (must belong to your firm).
  - `version` integer: Current version (starts at 1; bumps on every content/scope edit).
  - `previous_version_id` string, uuid, nullable
  - `user_id` string, uuid: Entry creator (creator-only for writes).
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400`: INVALID_ID | validation (empty/overlong fields, invalid category, no fields to update)
- `403`: case_id outside your firm
- `404`: NOT_FOUND (you are not the creator or it does not exist) | case_id does not exist

---

[API](https://skmtc.dev/nexusquantum/apis/nexus-legal-api.md) · [All operations](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/nexusquantum/apis/nexus-legal-api/revisions/4084d8d4eb0b?raw)
