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

# Retrieve Pre-Approved Transactions

> Retrieve all pre-approved transactions.

By calling this API, you will be able to retrieve all pre-approved transactions. The results are paginated.

You may also filter by status using the following endpoints:

* **[Active Transactions](/athena-api-reference/ts_get_preapproved_active)** — Retrieve pre-approved transactions that are currently active (e.g., `on_hold`).
* **[Inactive Transactions](/athena-api-reference/ts_get_preapproved_inactive)** — Retrieve pre-approved transactions that are inactive (e.g., `approved`, `rejected`).


## OpenAPI

````yaml get /api/preapprovedtransactions
openapi: 3.0.3
info:
  title: Athena API
  version: v3
  x-logo:
    url: https://cynopsis.co/wp-content/uploads/2021/03/logo-2.png
    altText: Cynopsis Solutions
  description: >-
    ATHENA is an advanced real-time transaction monitoring solution designed to
    detect and prevent money laundering, fraud, and terrorism financing. Powered
    by proprietary AML rules, ATHENA analyzes transactions in real time,
    providing clear, intuitive visual insights to streamline compliance
    processes.
        
        ✅ Real-Time Monitoring – Instantly analyzes transaction data to detect anomalies and potential compliance risks.
        ✅ Visualized Insights – Converts complex data into easy-to-understand charts, aiding faster decision-making.
        ✅ Seamless Integration – Easily integrates with existing financial and compliance systems.
        
        Ideal for financial institutions, fintech companies, and regulated businesses, ATHENA enhances risk management and ensures regulatory compliance with ease.
  contact:
    email: tech@cynopsis.co
servers:
  - url: http://localhost/api
    description: Local development server
security: []
paths:
  /api/preapprovedtransactions:
    get:
      tags:
        - Transaction Screening
      summary: List all QuickScan transactions
      description: ViewSet for PreApprovedTransaction with screening workflow support
      operationId: preapprovedtransaction_list
      parameters:
        - name: limit
          required: false
          in: query
          description: Number of results to return per page.
          schema:
            type: integer
        - name: offset
          required: false
          in: query
          description: The initial index from which to return the results.
          schema:
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedPreApprovedTransactionList'
          description: ''
      security:
        - cookieAuth: []
        - BearerAuth: []
components:
  schemas:
    PaginatedPreApprovedTransactionList:
      type: object
      required:
        - count
        - results
      properties:
        count:
          type: integer
          example: 123
        next:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=400&limit=100
        previous:
          type: string
          nullable: true
          format: uri
          example: http://api.example.org/accounts/?offset=200&limit=100
        results:
          type: array
          items:
            $ref: '#/components/schemas/PreApprovedTransaction'
    PreApprovedTransaction:
      type: object
      description: >-
        Serializer for PreApprovedTransaction model.


        NOTE: name_screen_cpa and name_screen_cpb are now queried dynamically
        via

        client_transaction_id (no longer FK fields). Maintains backward
        compatibility.
      properties:
        id:
          type: integer
          readOnly: true
        client_transaction_id:
          type: string
          description: Client's transaction ID (unique identifier)
          maxLength: 255
        status:
          allOf:
            - $ref: '#/components/schemas/StatusEnum'
          description: |-
            Status of the pre-approval workflow

            * `on_hold` - on_hold
            * `approved` - approved
            * `rejected` - rejected
            * `not_screened` - not_screened
            * `cleared` - cleared
        transaction_timestamp:
          type: string
          format: date-time
          nullable: true
        transaction_type:
          type: string
          maxLength: 255
        amount:
          type: number
          format: double
          nullable: true
        transaction_currency:
          type: string
          nullable: true
          description: Transaction currency code
        payment_mode:
          type: string
          maxLength: 255
        approved_on:
          type: string
          format: date-time
          nullable: true
        approved_by:
          type: integer
          nullable: true
        assignee:
          type: integer
          nullable: true
          description: User assigned to review this transaction
        cp_a:
          allOf:
            - $ref: '#/components/schemas/SubjectMinimal'
          readOnly: true
        cp_b:
          allOf:
            - $ref: '#/components/schemas/SubjectMinimal'
          readOnly: true
        name_screen_cpa:
          type: string
          readOnly: true
        name_screen_cpb:
          type: string
          readOnly: true
        has_related_case:
          type: string
          readOnly: true
        related_cases:
          type: string
          readOnly: true
        has_true_hit_cpa:
          type: string
          readOnly: true
        has_true_hit_cpb:
          type: string
          readOnly: true
        has_unmarked_hit_cpa:
          type: string
          readOnly: true
        has_unmarked_hit_cpb:
          type: string
          readOnly: true
        comment:
          type: string
          description: Review comment or decision rationale
        created_on:
          type: string
          format: date-time
          readOnly: true
        modified_on:
          type: string
          format: date-time
          readOnly: true
      required:
        - client_transaction_id
        - cp_a
        - cp_b
        - created_on
        - has_related_case
        - has_true_hit_cpa
        - has_true_hit_cpb
        - has_unmarked_hit_cpa
        - has_unmarked_hit_cpb
        - id
        - modified_on
        - name_screen_cpa
        - name_screen_cpb
        - related_cases
    StatusEnum:
      enum:
        - on_hold
        - approved
        - rejected
        - not_screened
        - cleared
      type: string
      description: |-
        * `on_hold` - on_hold
        * `approved` - approved
        * `rejected` - rejected
        * `not_screened` - not_screened
        * `cleared` - cleared
    SubjectMinimal:
      type: object
      properties:
        client_subject_id:
          type: string
          readOnly: true
        subject_name:
          type: string
          readOnly: true
      required:
        - client_subject_id
        - subject_name
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: sessionid

````