Sign in to run requests with your own sandbox key. Sign in

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

NameTypeDescription
idrequired integer

Execution id. Scoped to the calling api_client; a foreign id returns 404.

Request body

application/json · ReviewNoteRequest · required

The note to append to the review.

  • note string required
Example request
{
  "note": "Pulled credit report manually; matches OFAC cleanly."
}

Responses

  • 201 Note recorded application/json
    • data ReviewEvent

      Schema: ReviewEvent

      • id integer
      • object string
      • execution_id integer
      • event_type string 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 of flagged assigned unassigned approved denied note_added re_evaluated adverse_action_drafted adverse_action_sent adverse_action_skipped adverse_action_replayed
      • actor_user_id integer, nullable
      • note string, nullable
      • metadata object
      • created_at string (date-time)
    • meta Meta

      Schema: Meta

      • request_id string 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-Authenticate header carries the RFC 6750 challenge. application/json

    Schema: ErrorEnvelope

    401 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. details lists the scope(s) that were checked. application/json

    Schema: ErrorEnvelope

    403 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/json

    Schema: ErrorEnvelope

    404 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 — blank note application/json

    Schema: ErrorEnvelope

    422 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 and Retry-After gives the seconds until the window resets. application/json

    Schema: ErrorEnvelope

    429 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"
      }
    }
Was this page helpful?