---
title: "Update Placement Note"
method: PATCH
path: "/api/external/v2/placements/{placement_id}/notes/{note_id}"
tags: ["external-v2-notes"]
---

# Update Placement Note

`PATCH /api/external/v2/placements/{placement_id}/notes/{note_id}`

Edit the text of a note on a placement (owner-scoped).

## Path parameters

- `placement_id` integer, required
- `note_id` integer, required

## Request body

- UpdateNoteRequest — PATCH /api/external/v2/{contacts|deals|placements|companies|checklist-tasks}/<id>/notes/<note_id> request body. Edit is text-only, mirroring CreateNoteRequest's minimal surface: note type, visibility, and purpose stay server-managed and are never editable by an external caller.
  - `text` string, required — Replacement note text. Simple HTML formatting is preserved; dangerous markup (scripts, javascript: URLs) is stripped server-side.

## Response `200`

Successful Response

- NoteObjectResponse — OpenAPI schema for POST /api/external/v2/{contacts|deals}/<id>/notes (object envelope).
  - `request_id` string, required
  - `timestamp` string, required
  - `data` NoteResponse, required — Note shape for both list and detail responses (MCP-287 Phase 1). Deliberately minimal: note type, visibility, and purpose are internal mechanics and are not exposed externally.
    - `id` integer, required
    - `text` string, nullable, required
    - `created_by` NoteCreatedByResponse — Creator attribution — normalized to exactly the rendered fields.
      - `id` integer, required
      - `name` string, nullable
    - `created_at` union
      - string, date-time
      - string
    - `updated_at` union
      - string, date-time
      - string

## Other responses

- `422` — Validation Error

---

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