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

# Add a note for a user

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

Leaves a note the user reads on their Notes tab. The body is a JSON object: text (required, plain text, up to 5000 characters; line breaks are kept, blank lines around it are not) and title (optional, up to 200 characters). Invalid values come back per field in errors; fields that were sent but not applied are listed in 'ignoredFields'. The note is dated now and signed with the caller's username, which the user does not see. 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 |

## 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

## Example request

```bash
curl --request POST \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/system-users/42/notes.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