---
title: "List vendor refunds"
method: GET
path: "/v1/platform/businesses/{business_id}/vendor-refunds/"
tags: ["Vendor Refunds"]
---

# List vendor refunds

`GET /v1/platform/businesses/{business_id}/vendor-refunds/`

## Request

- Base URL: `https://docs.thredfi.com` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.thredfi.com/v1/platform/businesses/{business_id}/vendor-refunds/`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - HTTP basic
  - HTTP bearer
  - HTTP bearer

List all vendor refunds for a business with advanced filtering and search.

        **Features:**
        - Filter by status, refund type, vendor, date range, amount
        - Full-text search across reference numbers and descriptions
        - Sort by any field
        - Pagination support

        **Use Cases:**
        - View all pending refunds requiring processing
        - Find refunds for a specific vendor
        - Track refund history for accounting reconciliation
        - Monitor unallocated refunds

        **Available Filters:**
        - `status`: Filter by refund status (pending, partially_allocated, allocated, completed, cancelled).
          Comma-separated for multiple.
        - `refund_type`: Filter by type (overpayment, credit_balance, billing_error, etc.)
        - `vendor_id`: Filter by specific vendor UUID
        - `refund_date_start` / `refund_date_end`: Filter by date range (YYYY-MM-DD)
        - `min_amount` / `max_amount`: Filter by amount range (in cents)
        - `currency`: Filter by currency code (EUR, GBP, USD)
        - `is_fully_allocated`: Filter by allocation status (true/false)
        - `search`: Full-text search across reference_number, external_id, description, vendor name

        **Ordering:**
        - Default: `-refund_date,-created_at` (newest first)
        - Options: `refund_date`, `total_refunded_amount_cents`, `status`, `vendor__company_name`
        - Prefix with `-` for descending order

## Path parameters

- `business_id` string, required

## Query parameters

- `currency` string
- `external_id` string
- `is_fully_allocated` boolean
- `max_amount` integer
- `min_amount` integer
- `ordering` string
- `page` integer
- `page_size` integer
- `reference_number` string
- `refund_date_end` string, date
- `refund_date_start` string, date
- `refund_type` 'billing_error' | 'credit_balance' | 'duplicate_payment' | 'goods_return' | 'other' | 'overpayment' | 'service_cancellation'
- `search` string
- `status` string
- `vendor_external_id` string
- `vendor_id` string

## Response `200`

- PaginatedVendorRefundList
  - `count` integer, required: Total number of items
  - `page_info` object, required
    - `total_count` integer, required: Total number of items (same as count)
    - `current_page` integer, required: Current page number (1-indexed)
    - `total_pages` integer, required: Total number of pages
    - `page_size` integer, required: Number of items per page
  - `results` VendorRefund[], required
    - `id` string, uuid, required: Unique vendor refund identifier
    - `vendor_id` string, uuid, required: UUID of the vendor who issued the refund
    - `vendor_name` string, required: Vendor company name
    - `external_id` string: Your external system identifier for idempotency
    - `refund_type` 'overpayment' | 'credit_balance' | 'duplicate_payment' | 'billing_error' | 'goods_return' | 'service_cancellation' | 'other': Refund type: overpayment, credit_balance, billing_error, goods_return, duplicate_payment, service_cancellation, other * `overpayment` - Overpayment Refund * `credit_balance` - Credit Balance Refund * `duplicate_payment` - Duplicate Payment * `billing_error` - Billing Error * `goods_return` - Goods Return * `service_cancellation` - Service Cancellation * `other` - Other
    - `reference_number` string: External reference number for this refund
    - `refund_date` string, date: Date when refund was issued
    - `expected_completion_date` string, date, nullable: Expected date for refund completion
    - `total_refunded_amount` integer, required: Total refunded amount in cents
    - `allocated_amount` integer, required: Total allocated amount in cents
    - `unallocated_amount` integer, required: Remaining unallocated amount in cents
    - `currency` 'EUR' | 'GBP' | 'USD' | 'SEK' | 'NOK' | 'DKK' | 'ISK' | 'MYR' | 'SGD': Refund currency (EUR, GBP, USD) * `EUR` - Euro * `GBP` - British Pound * `USD` - US Dollar * `SEK` - Swedish Krona * `NOK` - Norwegian Krone * `DKK` - Danish Krone * `ISK` - Icelandic Króna * `MYR` - Malaysian Ringgit * `SGD` - Singapore Dollar
    - `status` 'pending' | 'partially_allocated' | 'allocated' | 'completed' | 'cancelled': Refund status: pending, partially_allocated, allocated, completed, cancelled (computed from allocations) * `pending` - Pending * `partially_allocated` - Partially Allocated * `allocated` - Allocated * `completed` - Completed * `cancelled` - Cancelled
    - `description` string: Description of the refund reason or context
    - `memo` string: Internal memo or notes
    - `reason` string: Detailed explanation for the refund
    - `metadata` unknown
    - `allocations` VendorRefundAllocationResponse[], required
      - `id` string, uuid, required: Unique allocation identifier
      - `allocation_type` 'bill' | 'payment' | 'credit': Type of allocation: bill, payment, or credit * `bill` - Applied to Bill * `payment` - Refund of Payment * `credit` - Credit Balance
      - `amount` integer, required: Allocated amount in cents
      - `bill_id` string, uuid, required: Bill ID if allocated to bill
      - `bill_number` string, required: Bill number if allocated to bill
      - `bill_outstanding_balance_cents` integer, required: Bill outstanding balance in cents if allocated to bill
      - `bill_payment_id` string, uuid, required: Bill payment ID if allocated to payment
      - `allocation_date` string, date-time: When allocation was created
      - `description` string: Allocation description or notes
      - `metadata` unknown
      - `created_at` string, date-time, required: Allocation creation timestamp
      - `updated_at` string, date-time, required: Last update timestamp
      - `target_description` string, required: Human-readable description of allocation target
    - `vendor_refund_payments` VendorRefundPaymentResponse[], required
      - `id` string, uuid, required: Unique vendor refund payment identifier
      - `vendor_refund_id` string, uuid, required: ID of the vendor refund this payment belongs to
      - `payment_reference` string: Your internal payment reference
      - `processor_payment_id` string: External processor payment ID
      - `payment_date` string, date: Date when payment was made
      - `refunded_amount` integer, required: Refunded amount in cents
      - `processing_fee` integer, required: Processing fee in cents
      - `net_amount` integer, required: Net amount after fees in cents
      - `payment_method` 'bank_transfer' | 'ach' | 'wire' | 'check' | 'credit_card' | 'cash' | 'other': Payment method: bank_transfer, ach, wire, check, credit_card, cash, other * `bank_transfer` - Bank Transfer * `ach` - ACH Transfer * `wire` - Wire Transfer * `check` - Check * `credit_card` - Credit Card Reversal * `cash` - Cash * `other` - Other
      - `processor` 'stripe' | 'wise' | 'paypal' | 'bank_transfer' | 'internal': Payment processor: stripe, wise, paypal, bank_transfer, internal * `stripe` - Stripe * `wise` - Wise (TransferWise) * `paypal` - PayPal * `bank_transfer` - Direct Bank Transfer * `internal` - Internal Processing
      - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'cancelled': Payment status: pending, processing, completed, failed, cancelled * `pending` - Pending * `processing` - Processing * `completed` - Completed * `failed` - Failed * `cancelled` - Cancelled
      - `submitted_at` string, date-time, nullable: When payment was submitted for processing
      - `completed_at` string, date-time, nullable: When payment completed successfully
      - `failed_at` string, date-time, nullable: When payment failed
      - `failure_reason` string: Reason for payment failure
      - `description` string: Payment description
      - `memo` string: Internal memo
      - `metadata` unknown
      - `transaction_tags` unknown
      - `reconciled_bank_transactions` EntityReconciliationDetail[], required: Bank transactions this vendor refund payment is reconciled to
        - `payment_type` string
        - `bank_transaction_id` string, uuid, required
        - `bank_transaction_date` string, date-time, required
        - `bank_transaction_amount_cents` integer, required
        - `bank_transaction_direction` string, required
        - `reconciled_amount_cents` integer, required
        - `reconciliation_link_id` string, uuid, required
        - `reconciled_at` string, date-time, required
        - `currency` string, required
        - `bank_account_name` string
        - `notes` string
      - `created_at` string, date-time, required: Payment creation timestamp
      - `updated_at` string, date-time, required: Last update timestamp
    - `document` DocumentFileUrl, required: Serializer for document file URL with metadata.
      - `url` string, uri, required: Presigned URL for document download
      - `expires_in` integer, required: Seconds until URL expires
      - `document_id` string, uuid, required: Document UUID
      - `file_name` string, required: Original document filename
      - `file_size` integer, required: File size in bytes
      - `mime_type` string, required: MIME type of the document
    - `created_at` string, date-time, required: Refund creation timestamp
    - `updated_at` string, date-time, required: Last update timestamp

---

[API](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api.md) - [All operations](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thredfi/apis/thredfi-accounting-platform-api/revisions/0c1918254db3?raw)
