Append a review note
POST
/api/v1/executions/{id}/review_notes
executions:write
Records a note_added audit event on the execution. Requires executions:write.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired |
integer |
Execution id. Scoped to the calling api_client; a foreign id returns |
Request body
The note to append to the review.
-
notestring required
Example request
{
"note": "Pulled credit report manually; matches OFAC cleanly."
}Responses
-
201 Note recorded
application/json-
dataReviewEventSchema: ReviewEvent
-
idinteger -
objectstring -
execution_idinteger -
event_typestring The review events plus the adverse-action notice trail: `adverse_action_drafted` (a notice draft was parked for review), `adverse_action_sent` (the draft was sent), `adverse_action_skipped` (the draft was discarded without sending) and `adverse_action_replayed` (a sent notice was resent from the app). One offlaggedassignedunassignedapproveddeniednote_addedre_evaluatedadverse_action_draftedadverse_action_sentadverse_action_skippedadverse_action_replayed -
actor_user_idinteger, nullable -
notestring, nullable -
metadataobject -
created_atstring (date-time)
-
-
metaMetaSchema: Meta
-
request_idstring required Correlation id for this request. Also sent as the `X-Request-Id` response header; quote it when contacting support.
-
201 example{ "data": { "id": 1, "object": "review_event", "execution_id": 1, "event_type": "flagged", "actor_user_id": 1, "note": "string", "metadata": {}, "created_at": "2026-05-08T18:41:05Z" }, "meta": { "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f" } } -
-
401 Missing, malformed, expired or revoked bearer token. The
WWW-Authenticateheader carries the RFC 6750 challenge.application/json401 example{ "error": { "code": "unauthorized", "message": "A valid bearer token is required.", "details": [], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/unauthorized" } } -
403 Token does not hold the required scope.
detailslists the scope(s) that were checked.application/json403 example{ "error": { "code": "insufficient_scope", "message": "This token does not have the required scope.", "details": [ { "field": "scope", "message": "executions:write" } ], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/insufficient_scope" } } -
404 Resource does not exist or belongs to another tenant / api_client
application/json404 example{ "error": { "code": "not_found", "message": "The requested resource was not found.", "details": [], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/not_found" } } -
422
validation_failed— blanknoteapplication/json422 example{ "error": { "code": "validation_failed", "message": "The request could not be processed.", "details": [ { "field": "note", "message": "must not be blank" } ], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/validation_failed" } } -
429 Rate limit exceeded (60 req/min per IP on
/api/v1, 600 req/hour per token prefix, or 300 req/5 min per IP globally). The body is the standard error envelope andRetry-Aftergives the seconds until the window resets.application/json429 example{ "error": { "code": "rate_limited", "message": "Rate limit exceeded. Retry later.", "details": [], "request_id": "7d4c2f48-9a1b-4c3d-8e2f-1a2b3c4d5e6f", "doc_url": "https://cascades.crscreditapi.com/docs/api/errors/rate_limited" } }