# Update member correspondence

`PUT /api/members/{memberId}/correspondence/{all}`

- **Products:** Operator (`FOH`)
- **Features:** Front of House Generic Access (`FOHGENERIC`)

HTML version: [Update member correspondence](https://support.gladstonesoftware.cloud/reference/members/update-member-correspondence)

## Overview

Updates one correspondence record — an item of member communication that staff raise, assign to a handler, chase and eventually conclude.

The final path segment is the correspondence record's own id: `PUT /api/members/{memberId}/correspondence/{id}`. Take that id from [Get member correspondence history](get-member-correspondence-history.md).

**This is a partial update for every field except `priority`.** Text and date fields you omit, or send as `null`, keep their current values. `priority` is not nullable: **omit it and the record's priority is overwritten with `0`.** Always send the current priority back if you are not changing it.

Two further things to know:

- **The record is not checked against `{memberId}`.** Only the correspondence id is used to find the record, so a valid id belonging to a different member will be updated. Your token must still match the member in the route, but that is the only ownership check performed.
- **A record that does not exist returns `400` with an empty body**, not `404`, so you cannot distinguish "no such record" from a malformed request by status code alone.

The member id in the route must match the member id in your access token; linked members are not accepted for updates.

## Endpoint

`PUT {base_url}/api/members/{memberId}/correspondence/{all}`

`{base_url}` is the environment URL issued to your integration. See [Authenticating with Gladstone APIs](../../guides/authenticating-with-gladstone-apis.md).

## Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | integer (int32) | Yes | The id of the correspondence record to update — the final path segment. Take it from [Get member correspondence history](get-member-correspondence-history.md). An id that does not exist returns `400`. |
| `memberId` | string | Yes | The member the correspondence is being managed for. Must match the member id in your access token. It is used for authorisation only — it does not restrict which correspondence record `id` may refer to. |

## Request body

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `subject` | string | No | Short description of what the correspondence is about, shown in staff lists. Maximum 255 characters. Omit or send `null` to keep the current subject. |
| `details` | string | No | The full text of the correspondence. Omit or send `null` to keep the current text — there is no way to blank it through this endpoint. |
| `conclusion` | string | No | The outcome or resolution, filled in when the item is closed off. Omit or send `null` to keep the current conclusion. |
| `priority` | integer (int32) | No | The priority level of the item. **Not a partial field** — it is written on every call, so omitting it or sending `null` sets the priority to `0`. Send the record's current priority whenever you are not deliberately changing it. |
| `handlerUserId` | string | No | The staff user id currently responsible for the item; use it to reassign the correspondence. Omit or send `null` to leave the assignment alone. Not validated against the user list. |
| `activateDate` | string (date-time) | No | When the correspondence becomes active and starts appearing to staff. Omit or send `null` to keep the current date. Held in the tenant's local time zone, so send an unambiguous value. |
| `nextActionDate` | string (date-time) | No | The scheduled date of the next follow-up. Omit or send `null` to keep the current date. |
| `reminderDate` | string (date-time) | No | When the handler should be reminded about the item. Omit or send `null` to keep the current date. |
| `terminateDate` | string (date-time) | No | When the correspondence was closed. Setting it is how you record that the item is finished; pair it with `conclusion`. Omit or send `null` to keep the current date — you cannot reopen an item by clearing this field here. |
| `fileName` | string | No | Reference to an associated document. Omit or send `null` to keep the current reference. |

## Sample request

```bash title="cURL"
curl -X PUT '{base_url}/api/members/{memberId}/correspondence/{all}' \
  -H 'Authorization: Bearer {accessToken}' \
  -H 'X-Use-SSO: true' \
  -H 'Content-Type: application/json' \
  -d '{
  "subject": "string",
  "details": "string",
  "conclusion": "string",
  "priority": 1,
  "handlerUserId": "string",
  "activateDate": "2026-08-14T19:00:00Z",
  "nextActionDate": "2026-08-14T19:00:00Z",
  "reminderDate": "2026-08-14T19:00:00Z",
  "terminateDate": "2026-08-14T19:00:00Z",
  "fileName": "string"
}'
```

## Errors

A successful call returns `204 No Content`.

| Status | Meaning | When |
|--------|---------|------|
| `400` | Bad request | No correspondence record exists with that id. The body is empty; no error message is returned. |
| `500` | Internal server error | The update could not be saved, or another unexpected server-side failure occurred. No detail is returned in the body. |
