> ## Documentation Index
> Fetch the complete documentation index at: https://docs.range.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Escalate a case

> Request case escalation and an evidence bundle for a signed-in reviewer.



## OpenAPI

````yaml api-reference/platform-api.json post /v2/cases/{id}/escalate
openapi: 3.0.0
info:
  title: Range Platform API
  description: >-
    The Range Platform API for workspace management, counterparties, and
    operational tooling.
  version: 1.7.37
  contact: {}
servers:
  - url: https://api.range.org
    description: Range API Server
security:
  - Authorization: []
  - Authorization: []
tags:
  - name: Address Information
    description: Get information about a crypto address.
  - name: Transfer Enrichments
    description: Attach workspace-scoped notes and categories to transfers.
  - name: Counterparties
    description: Manage external entities, their addresses, bank accounts, and documents.
  - name: Parties
    description: >-
      The workspace entity register: the firm itself, its clients, and its
      counterparties.
paths:
  /v2/cases/{id}/escalate:
    post:
      tags:
        - Cases
      summary: >-
        Auto-resolve as escalated and return the evidence bundle (email delivery
        is a follow-up)
      description: >-
        A redemption case cannot be escalated. A redemption case closes only
        when its redemption is paid or dismissed. A screening case needs a
        `note` (400 otherwise).
      operationId: escalate
      parameters:
        - name: id
          required: true
          in: path
          description: The case id (uuid).
          schema:
            example: 550e8400-e29b-41d4-a716-446655440000
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EscalateCaseDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EscalateCaseResponseDto'
components:
  schemas:
    EscalateCaseDto:
      type: object
      properties:
        note:
          type: string
          maxLength: 2000
          example: 'MLRO: possible SAR. Client asked to explain the source.'
          description: >-
            To whom and why, recorded on the timeline. Required to escalate a
            screening case (transaction_screening, counterparty_screening).
    EscalateCaseResponseDto:
      type: object
      properties:
        recipient:
          type: string
          example: analyst@range.org
          description: >-
            Caller's workspace email — the delivery target once email sending
            ships.
        bundle_id:
          type: string
        escalated_at:
          type: string
        bundle:
          $ref: '#/components/schemas/EscalationBundleDto'
      required:
        - recipient
        - bundle_id
        - escalated_at
        - bundle
    EscalationBundleDto:
      type: object
      properties:
        case:
          $ref: '#/components/schemas/CaseDto'
        timeline:
          type: array
          items:
            $ref: '#/components/schemas/CaseTimelineEntryDto'
        investigations:
          type: array
          items:
            $ref: '#/components/schemas/InvestigationDto'
      required:
        - case
        - timeline
        - investigations
    CaseDto:
      type: object
      properties:
        id:
          type: string
        workspace_id:
          type: string
        title:
          type: string
        status:
          type: string
          enum:
            - open
            - in_review
            - resolved
        resolution:
          type: string
          nullable: true
          enum:
            - dismissed
            - escalated
            - paid
            - explained
        severity:
          type: string
          enum:
            - severe
            - high
            - medium
            - low
        source_type:
          type: string
          enum:
            - risk_screen
            - sanctions_screen
            - alert_event
            - manual
            - regulatory_filing
            - tie_out_break
            - corridor_discrepancy
            - agreement_break
            - redemption
            - transaction_screening
            - counterparty_screening
        source_id:
          type: string
          nullable: true
        client_entity_id:
          type: string
          nullable: true
          example: 550e8400-e29b-41d4-a716-446655440000
          description: The client entity the case concerns (screening cases).
        subject:
          $ref: '#/components/schemas/CaseSubjectDto'
        assignee:
          type: string
          nullable: true
        created_by:
          type: string
          nullable: true
        created_at:
          type: string
        updated_at:
          type: string
        resolved_at:
          type: string
          nullable: true
        viewed:
          type: boolean
          description: In list responses, whether this case is read for the caller.
        autopilot_status:
          nullable: true
          enum:
            - queued
            - running
            - completed
            - failed
            - skipped
          type: string
          description: >-
            Status of the latest Autopilot run on this case, or null when
            Autopilot has not touched it.
        autopilot_recommendation:
          nullable: true
          enum:
            - escalate
            - dismiss
            - review
          type: string
          description: >-
            Recommendation of the latest Autopilot run, or null when it has none
            yet.
        available_actions:
          description: >-
            Actions supported by this source and status. Existing write
            permissions still apply. Resolving via set_status requires
            resolution=dismissed.
          type: array
          items:
            $ref: '#/components/schemas/CaseActionDto'
        counterparty_deleted:
          type: boolean
          description: >-
            Counterparty screening cases on one counterparty address or wallet:
            true when that counterparty entity or wallet account has since been
            deleted from the register. The case stays open. Absent on other
            cases.
        comments:
          type: array
          items:
            $ref: '#/components/schemas/CaseCommentDto'
        evidence_summary:
          type: object
          nullable: true
          description: >-
            What the case was opened on. A redemption case carries
            redemption_id, burn_time and deadline, linking it to GET
            /v2/redemptions/{id}. An agreement_break case carries declared_gap
            ({ tape, reason }, or null): when its cause is source_missing, it
            can be explained only if declared_gap is set. It also carries
            unverified_by_custodian (boolean): true when the custodian marked
            the asset unverified, which is information only and never the cause
            (absent on cases filed before it existed).
        autopilot:
          nullable: true
          description: >-
            The latest Autopilot run on this case, or null. Its report is model
            output: render it as text, never as HTML.
          type: object
          allOf:
            - $ref: '#/components/schemas/CaseAutopilotDto'
      required:
        - id
        - workspace_id
        - title
        - status
        - severity
        - source_type
        - subject
        - created_at
        - updated_at
        - viewed
        - autopilot_status
        - autopilot_recommendation
        - available_actions
        - comments
        - autopilot
    CaseTimelineEntryDto:
      type: object
      properties:
        id:
          type: string
        action:
          enum:
            - created
            - assigned
            - status_changed
            - commented
            - escalated
            - investigation_linked
            - duplicate_matched
            - deleted
            - tie_out_observed
            - corridor_observed
            - agreement_observed
            - agreement_repaired
          type: string
        actor:
          type: string
          example: analyst@range.org
        details:
          type: object
          description: Discriminated union keyed by `action` (see CaseTimelineDetailsMap).
        created_at:
          type: string
      required:
        - id
        - action
        - actor
        - details
        - created_at
    InvestigationDto:
      type: object
      properties:
        id:
          type: string
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        workspace_id:
          type: string
          example: workspace-123
        title:
          type: string
          example: Peel chain from Binance hot wallet
        subject_type:
          type: string
          nullable: true
          enum:
            - address
            - transaction
        subject_address:
          type: string
          nullable: true
          example: 0xabc...
        subject_network:
          type: string
          nullable: true
          example: eth
        subject_tx_hash:
          type: string
          nullable: true
          example: 0xdef...
        status:
          type: string
          enum:
            - open
            - archived
          example: open
        created_by:
          type: string
          nullable: true
          example: analyst@range.org
        created_at:
          type: string
          example: '2026-07-09T00:00:00.000Z'
        updated_at:
          type: string
          example: '2026-07-09T00:00:00.000Z'
        data:
          type: object
          example:
            nodes: []
            notes: []
            canvas: {}
          description: Trail canvas snapshot (nodes, notes, canvas state)
      required:
        - id
        - workspace_id
        - title
        - status
        - created_at
        - updated_at
        - data
    CaseSubjectDto:
      type: object
      properties:
        type:
          enum:
            - address
            - transaction
            - counterparty
            - workflow
            - account
          type: string
        address:
          type: string
          maxLength: 256
          example: '0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28'
        network:
          type: string
          maxLength: 256
          example: ethereum
        tx_hash:
          type: string
          maxLength: 256
          example: 0xabc...
        name:
          type: string
          maxLength: 256
          description: Always populated — falls back to a shortened address/tx_hash.
      required:
        - type
    CaseActionDto:
      type: object
      properties:
        id:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440000
          enum:
            - set_status
            - assign
            - add_transaction
            - dismiss
            - escalate
            - resolve
            - explain
            - resync
            - repair
        label:
          type: string
        kind:
          type: string
          enum:
            - select
            - user_picker
            - action
        options:
          type: array
          items:
            type: string
            enum:
              - open
              - in_review
              - resolved
        requires_note:
          type: boolean
          description: >-
            The action needs a note (`note` on PATCH, bulk dismiss or POST
            /escalate). Absent means no note is required.
      required:
        - id
        - label
        - kind
    CaseCommentDto:
      type: object
      properties:
        id:
          type: string
        author:
          type: string
          example: analyst@range.org
        body:
          type: string
        created_at:
          type: string
      required:
        - id
        - author
        - body
        - created_at
    CaseAutopilotDto:
      type: object
      properties:
        run_id:
          type: string
        status:
          enum:
            - queued
            - running
            - completed
            - failed
            - skipped
          type: string
        recommendation:
          nullable: true
          enum:
            - escalate
            - dismiss
            - review
          type: string
        confidence:
          nullable: true
          enum:
            - low
            - medium
            - high
          type: string
        headline:
          type: string
          nullable: true
        report:
          type: object
          nullable: true
          additionalProperties: true
          description: >-
            Autopilot structured report. Model output: render it as text, never
            as HTML.
        started_at:
          type: string
          nullable: true
        completed_at:
          type: string
          nullable: true
        runs_count:
          type: number
          description: How many Autopilot runs the case has.
      required:
        - run_id
        - status
        - runs_count
  securitySchemes:
    Authorization:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Authorization method required to allow user to access the api endpoints.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.