---
title: "Update the message on a credentialing workflow note"
method: PUT
path: "/credentialing-workflows/{workflowId}/notes/{noteId}"
tags: ["Note"]
---

# Update the message on a credentialing workflow note

`PUT /credentialing-workflows/{workflowId}/notes/{noteId}`

Updates the message field of an existing note on the specified credentialing workflow. Use this to correct or amend an annotation after it has been created.

Despite using HTTP PUT, this is a partial update: the service merges only the message into the existing note data; other note fields are preserved. Only message can be changed.

Preconditions: noteId must identify an existing note that belongs to the specified workflowId. Returns 400 for null/blank message or when the note belongs to a different workflow. Returns 404 when the note is not found.

updatedBy is set from the caller JWT. Not idempotent — each call refreshes updatedAt.

## Path parameters

- `noteId` string, required
- `workflowId` string, required

## Headers

- `tenant-id` string, required

## Request body

- UpdateNoteRequest
  - `message` string, required

## Response `200`

Updated note after message merge

- NoteResponse — Response containing note information
  - `id` string — Unique identifier for the note
  - `workflowId` string — ID of the associated credentialing workflow
  - `data` NoteData — Note data containing message content
    - `message` string, required — The message content of the note
  - `createdBy` string — ID of the user who created the note
  - `createdByName` string — Full name of the user who created the note
  - `updatedBy` string — ID of the user who last updated the note
  - `updatedByName` string — Full name of the user who last updated the note
  - `createdAt` string, date-time
  - `updatedAt` string, date-time

## Other responses

- `400` — Invalid request — blank or null message, or note belongs to a different workflow: validation failures return an `ApiError` (errors array); ownership mismatches and null-body errors return a `BadRequestErrorResponse` (errors string array)
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - User does not have required permissions
- `404` — Note not found
- `500` — Internal Server Error - An unexpected error occurred
- `502` — Downstream DAL failure (5xx ApiException). Mutating ops normalize to 502; GET ops forward the raw DAL status code.

---

[API](https://skmtc.net/certifyos/apis/certify-api-layer.md) · [All operations](https://skmtc.net/certifyos/apis/certify-api-layer/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/certifyos/certify-api-layer/revisions/563848e0ecc0/schema)
