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

# Report confirmed fraud

> Reports a fraudulent transaction. Clausum automatically (1) marks the transaction as fraudulent, (2) opens a case, (3) adds the email / card BIN / IP to your blocklists, and (4) notifies the configured chain and webhooks. Requires the `fraud:report` permission on the API key.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/report-fraud
openapi: 3.1.0
info:
  title: Clausum API
  version: 1.3.0
  description: >-
    REST API for real-time fraud risk assessment (pay-in and payout), fraud
    reporting, blocklist management, and event ingestion. API version 1.3.0.
    Create Partner API keys (`clm_pub_*`, `clm_sk_*`) in the dashboard under
    Conexiones → Claves API. Webhook ingest uses separate `clm_wh_*` keys
    (Conexiones → Entrada webhooks).
  contact:
    name: Clausum API Support
    email: api@clausum.ai
    url: https://clausum.ai
servers:
  - url: https://sandbox.clausum.ai
    description: Sandbox — integrators and trials
  - url: https://dashboard.clausum.ai
    description: Production dashboard and Partner API
security:
  - apiKeyAuth: []
tags:
  - name: Risk
    description: Real-time risk scoring for pay-in checkout and sessions.
  - name: Payout
    description: Outbound disbursement and treasury transfer assessment.
  - name: Fraud
    description: Report confirmed fraud and trigger the downstream chain.
  - name: Blocklists
    description: Manage dynamic blocklists used during assessment.
  - name: Cases
    description: Manage fraud cases (expedientes) and submit them to regulators.
  - name: Events
    description: Ingest raw events from your payment providers.
  - name: System
    description: Health and status checks.
paths:
  /api/v1/report-fraud:
    post:
      tags:
        - Fraud
      summary: Report confirmed fraud
      description: >-
        Reports a fraudulent transaction. Clausum automatically (1) marks the
        transaction as fraudulent, (2) opens a case, (3) adds the email / card
        BIN / IP to your blocklists, and (4) notifies the configured chain and
        webhooks. Requires the `fraud:report` permission on the API key.
      operationId: reportFraud
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportFraudRequest'
            examples:
              by_payment_id:
                summary: Report by PSP payment id
                value:
                  payment_id: pi_3Nxyz
                  provider: stripe
                  reason: chargeback
                  description: Issuer chargeback received, code 10.4
                  ip_address: 201.150.10.22
              by_external_id:
                summary: Report by payment id (legacy field name)
                value:
                  external_transaction_id: pi_3Nxyz
                  provider: stripe
                  reason: chargeback
                  description: Issuer chargeback received, code 10.4
                  ip_address: 201.150.10.22
              inline:
                summary: Report with inline transaction data
                value:
                  amount: 89900
                  currency: USD
                  email: fraudster@example.com
                  card_bin: '411111'
                  card_last4: '4242'
                  reason: card_testing
      responses:
        '201':
          description: Fraud report processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportFraudResponse'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      security:
        - apiKeyAuth: []
components:
  schemas:
    ReportFraudRequest:
      type: object
      required:
        - reason
      properties:
        transaction_id:
          type: string
          description: Clausum internal transaction UUID, if known.
        payment_id:
          type: string
          description: PSP payment id (same as assess payment_id).
        external_transaction_id:
          type: string
          description: Deprecated alias of payment_id.
        provider:
          type: string
          example: stripe
        amount:
          type: number
          description: Required only when no transaction is referenced.
        currency:
          type: string
        email:
          type: string
          format: email
        card_bin:
          type: string
        card_last4:
          type: string
        ip_address:
          type: string
        reason:
          type: string
          enum:
            - chargeback
            - friendly_fraud
            - card_testing
            - account_takeover
            - identity_theft
            - other
        description:
          type: string
        evidence_urls:
          type: array
          items:
            type: string
            format: uri
        notify:
          type: object
          properties:
            merchant:
              type: boolean
            acquirer:
              type: boolean
            issuer:
              type: boolean
            compliance:
              type: boolean
    ReportFraudResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            case:
              type: object
              properties:
                id:
                  type: string
                  format: uuid
                reference_number:
                  type: string
                  example: CLM-LX9A2B
                status:
                  type: string
                priority:
                  type: string
            transaction:
              type: object
              properties:
                id:
                  type: string
                external_id:
                  type: string
                is_fraudulent:
                  type: boolean
            blocklist:
              type: object
              properties:
                entries_added:
                  type: integer
                types:
                  type: array
                  items:
                    type: string
    ApiError:
      type: object
      properties:
        error:
          oneOf:
            - type: string
            - type: object
              properties:
                code:
                  type: string
                message:
                  type: string
                details:
                  type: object
                  additionalProperties: true
  responses:
    ValidationError:
      description: Invalid request body or parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Missing or invalid credentials
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Forbidden:
      description: Authenticated but lacking permission
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer
      description: >-
        Partner secret or publishable key, e.g. `clm_sk_...` or `clm_pub_...`
        (assess only).
      x-default: clm_sk_your_secret_key

````