Add participant review note
Add a note to a participant review.
Notes are asynchronous. Returns 202 when Moov Money accepts the request.
A 202 does not mean the note is added. Moov Money checks
expectedVersionID when it applies the note and rejects a stale version.
The 202 body is not defined yet. An added note appears in the review
detail. The completion and rejection reporting contract is not defined
yet (ADR 024 Q10).
Send an X-Idempotency-Key header so a retried request is processed once.
Replaying the same key with the same body returns 202 again. Replaying it
with a different body returns a 409 with error code
idempotency-key-reused. Returns a 409 with error code
idempotency-request-in-progress when a request with this key is still
running. Returns 400 when the header is missing or malformed.
A review from another provider and a missing review both return 404. Returns 422 when the body fails validation.
Auth: API key or bearer token. Scoped to the calling provider. Requires participant-review write access.
curl -X POST https://api.moov.money/providers/{providerID}/participant-reviews/{reviewID}/notes \
-u "$MOOV_API_KEY_ID:$MOOV_API_KEY_SECRET" \
-H "X-Moov-Version: v2026.10.00" \
-H "X-Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"expectedVersionID": "review-v2",
"text": "Contacted participant"
}'Response body application/problem+json
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredhttps://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredstatus
integer<int32>
requireddetail
stringinstance
stringerrors
array<object>Show child attributes
errors[]
pointer
string
requireddetail
string
requiredResponse body application/problem+json
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredhttps://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredstatus
integer<int32>
requireddetail
stringinstance
stringerrors
array<object>Show child attributes
errors[]
pointer
string
requireddetail
string
requiredResponse body application/problem+json
application/problem+json.
From v2026.10.00, every error response that has a body uses this schema.type
string
requiredhttps://api.moov.money/errors#<code> (for
example invalid-request, idempotency-key-reused, or
idempotency-request-in-progress). Treat the value as
an opaque constant and do not fetch it. about:blank means the HTTP
status code says everything there is to know.title
string
requiredstatus
integer<int32>
requireddetail
stringinstance
stringerrors
array<object>Show child attributes
errors[]
pointer
string
requireddetail
string
requiredHeaders
X-Moov-Version
stringv2026.10.00). When omitted, the server applies its default version.X-Idempotency-Key
string
requiredPath parameters
providerID
string
requiredreviewID
string
requiredRequest
text
string
[1 to 512] characters
requiredexpectedVersionID
string
requiredversionID from your latest read.