Skip to main content
GET
/
v1
/
platform
/
businesses
/
{business_id}
/
vendor-refunds
List vendor refunds
curl --request GET \
  --url https://sandbox.thredfi.com/v1/platform/businesses/{business_id}/vendor-refunds/ \
  --header 'Authorization: Bearer <token>'
{
  "count": 123,
  "page_info": {
    "total_count": 123,
    "current_page": 1,
    "total_pages": 7,
    "page_size": 20
  },
  "results": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "vendor_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "vendor_name": "<string>",
      "total_refunded_amount": 123,
      "allocated_amount": 123,
      "unallocated_amount": 123,
      "allocations": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "amount": 123,
          "bill_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "bill_number": "<string>",
          "bill_outstanding_balance_cents": 123,
          "bill_payment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z",
          "target_description": "<string>",
          "allocation_type": "bill",
          "allocation_date": "2023-11-07T05:31:56Z",
          "description": "<string>",
          "metadata": "<unknown>"
        }
      ],
      "vendor_refund_payments": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "vendor_refund_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "refunded_amount": 123,
          "processing_fee": 123,
          "net_amount": 123,
          "reconciled_bank_transactions": [
            {
              "bank_transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "bank_transaction_date": "2023-11-07T05:31:56Z",
              "bank_transaction_amount_cents": 123,
              "bank_transaction_direction": "<string>",
              "reconciled_amount_cents": 123,
              "reconciliation_link_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
              "reconciled_at": "2023-11-07T05:31:56Z",
              "currency": "<string>",
              "payment_type": "<string>",
              "bank_account_name": "<string>",
              "notes": "<string>"
            }
          ],
          "created_at": "2023-11-07T05:31:56Z",
          "updated_at": "2023-11-07T05:31:56Z",
          "payment_reference": "<string>",
          "processor_payment_id": "<string>",
          "payment_date": "2023-12-25",
          "payment_method": "bank_transfer",
          "processor": "stripe",
          "status": "pending",
          "submitted_at": "2023-11-07T05:31:56Z",
          "completed_at": "2023-11-07T05:31:56Z",
          "failed_at": "2023-11-07T05:31:56Z",
          "failure_reason": "<string>",
          "description": "<string>",
          "memo": "<string>",
          "metadata": "<unknown>",
          "transaction_tags": "<unknown>"
        }
      ],
      "document": {
        "url": "<string>",
        "expires_in": 123,
        "document_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "file_name": "<string>",
        "file_size": 123,
        "mime_type": "<string>"
      },
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "external_id": "<string>",
      "refund_type": "overpayment",
      "reference_number": "<string>",
      "refund_date": "2023-12-25",
      "expected_completion_date": "2023-12-25",
      "currency": "EUR",
      "status": "pending",
      "description": "<string>",
      "memo": "<string>",
      "reason": "<string>",
      "metadata": "<unknown>"
    }
  ]
}

Authorizations

Authorization
string
header
required

Business-scoped JWT token. Token payload includes business_id to automatically scope requests. Format: Bearer <your-jwt-token>

Use this for: Business-specific operations where the business context is embedded in the token.

Path Parameters

business_id
string
required

Query Parameters

currency
string

Filter by currency code (EUR, GBP, USD)

external_id
string

Filter by external ID (partial match)

is_fully_allocated
boolean

Filter by allocation status (true=fully allocated, false=has unallocated amount)

max_amount
integer

Maximum refund amount in cents

min_amount
integer

Minimum refund amount in cents

ordering
string

Order results by field (prefix with - for descending)

page
integer

A page number within the paginated result set.

page_size
integer

Number of results to return per page.

reference_number
string

Filter by reference number (partial match)

refund_date_end
string<date>

Filter refunds to this date (YYYY-MM-DD)

refund_date_start
string<date>

Filter refunds from this date (YYYY-MM-DD)

refund_type
enum<string>

Filter by refund type

  • 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
Available options:
billing_error,
credit_balance,
duplicate_payment,
goods_return,
other,
overpayment,
service_cancellation

Search across reference_number, external_id, description, vendor name

status
string

Filter by refund status (comma-separated for multiple)

vendor_external_id
string

Filter by vendor external ID

vendor_id
string

Filter by vendor ID (supports comma-separated UUIDs for multiple vendors)

Response

200 - application/json
count
integer
required

Total number of items

Example:

123

page_info
object
required
Example:
{
"total_count": 123,
"current_page": 1,
"total_pages": 7,
"page_size": 20
}
results
object[]
required