---
title: "Change a note for a user"
type: reference
method: POST
path: /rest-api/system-users/{userId}/notes/{noteId}.do
tag: "Users"
---

# Change a note for a user

`POST https://YOUR-NETWORK-DOMAIN/rest-api/system-users/{userId}/notes/{noteId}.do`

Replaces the fields sent and keeps the others: {"text": "…"} leaves the title as it is, {"title": null} removes it. Limits as on add. The user keeps seeing the date the note was written; updatedAt and updatedBy record the change for the operator. A change of the title or the text makes the note unread again (readAt null), so the user sees it anew; a save that changes neither keeps it read. Requires the right to edit the user: a role the caller may create users in (the bar the console's user page uses).

## Path params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `userId` | integer | yes | `42` | Numeric id of the user, as /rest-api/system-users/search.do reports it |
| `noteId` | integer | yes | `7` | Numeric id of the note, as the list of the user's notes reports it |

## Body

A JSON body. An example, built from the field definitions:

```json
{
  "title": "Payment schedule",
  "text": "Payments go out on the 15th of each month."
}
```

## Responses

- `200` — {success, note, ignoredFields}
- `400` — Invalid body, each problem named in errors by field
- `401` — Unauthorized — authentication error
- `403` — The caller may not edit users of the target's role
- `404` — No user with this id, or no note with this id for that user

## Example request

```bash
curl --request POST \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/system-users/42/notes/7.do' \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "title": "Payment schedule",
  "text": "Payments go out on the 15th of each month."
}'
```

Source: https://epom.com/ad-server/docs/api/users/post-system-users-notes-by-user-id