---
search:
  tags:
    - organizations
    - PATCH
seo:
  description: >-
    What this endpoint does: Updates specific fields of an existing… Reference
    for the PATCH /organizations/letters/{id} endpoint in the Leadtime Public
    API API.
sidebar:
  badge: PATCH
  label: Partially update organization letter
title: Partially update organization letter
type: openapi-operation
---
**What this endpoint does:**
Updates specific fields of an existing organization letter. Only the fields you provide will be updated; all other fields remain unchanged. This allows you to make targeted changes without resubmitting the entire letter.

**What can be updated:**
- **Organization ID**: Change which organization the letter belongs to
- **Member ID**: Link/unlink the letter to a specific member (use `null` to clear the member association)
- **Subject**: Update the letter title
- **Date of letter**: Change the date shown on the letter
- **Address type**: Switch between organization address and member address
- **Body content**: Update the letter text

**Content formatting:**
Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as &lt;a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text&lt;/a>.

In HTML you can use:
## Node Types and Marks

### Nodes

**paragraph**
Type: block
Content: inline* (inline only — do not use block tags such as &lt;p> inside; use e.g. &lt;br>, &lt;strong>, &lt;em>, &lt;span>…)
Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers.
Atts:
- extraPlaceholder: null
```html
<p class="paragraph-base" extraplaceholder="null/some-value"></p>
```

**heading**
Type: block
Content: inline* (inline only — do not use block tags such as &lt;p> inside; use e.g. &lt;br>, &lt;strong>, &lt;em>, &lt;span>…)
Atts:
- level: 1
```html
<h1 class="heading-base"></h1>
```

**bulletList**
Type: block list
Content: listItem+
Atts: none
```html
<ul class="list-base"><li></li></ul>
```

**hardBreak**
Type: inline
Atts: none
```html
<br>
```

**horizontalRule**
Type: block
Atts: none
```html
<hr class="hr-base">
```

**orderedList**
Type: block list
Content: listItem+
Atts:
- start: 1
- type: null
```html
<ol class="order-list-base" type="null/some-value"><li></li></ol>
```

**listItem**
Content: (paragraph|list)* (paragraphs and/or lists, in any order)
Atts: none
```html
<li></li>
```

**blockquote**
Type: block
Content: block+ (one or more block child nodes (e.g. paragraph, list, …))
Atts: none
```html
<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>
```

**variable**
Type: inline
Document/template variable token (span with data-type="variable" and data-id).
- id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates.
Atts:
- id: null
```html
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>
```

### Marks

**link**
Atts:
- href: null
- target: _blank
- rel: noopener noreferrer nofollow
- class: null
- title: null
```html
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>
```

**bold**
Atts: none
```html
<strong>bold text example</strong>
```

**code**
Atts: none
```html
<code>code text example</code>
```

**italic**
Atts: none
```html
<em>italic text example</em>
```

**strike**
Atts: none
```html
<s>strike text example</s>
```

**underline**
Atts: none
```html
<u>underline text example</u>
```


## Available Template Variables

You can use the following variables in your organization letter body. Variables are represented as HTML spans:

`clientCompanyName`, `contactPerson`, `senderNameAndPosition`, `senderName`, `senderPosition`, `todayDate`, `dearCustomer`, `signature`

**Example HTML**: `<span data-type="variable" data-id="clientCompanyName">ACME Corp</span>`, `<span data-type="variable" data-id="contactPerson">John Doe</span>`

**Validation rules:**
- Letter must exist and be accessible in your workspace
- If organization ID is provided, it must exist and be accessible
- If member ID is provided (or set to `null`), the member must belong to the specified organization (or the letter's current organization if organization ID is not being updated)
- All field validations from the create endpoint apply to updated fields

**How partial updates work:**
- Fields not provided in the request remain unchanged
- If you provide `memberId: null`, it clears the member association
- Body content is automatically converted from HTML/Markdown to internal format (IDoc) if provided
- The `lastUpdated` timestamp is automatically updated

**Use cases:**
- Correct typos or update letter content
- Change the recipient (member) of an existing letter
- Update letter date if backdating is needed
- Modify letter subject or address type

**Note:** Requires `writeLetters` permission on the Organizations resource.

<Operation source="api-reference" id="organizationletterscontroller-patchorganizationletter" />
