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

# List refunds

> Returns a paginated list of refunds. Supports filtering by status, currency, customer, and payment. Sortable by status, amount, currency, and created date.



## OpenAPI

````yaml /api-reference/v2/specs/2026-04-01.json get /refunds
openapi: 3.1.0
info:
  title: Alguna Public API
  version: '2026-04-01'
servers:
  - url: https://api.alguna.io
security:
  - bearerAuth: []
tags:
  - name: Billing Events and Metrics
  - name: Credit Notes
  - name: Credits
  - name: Customer Portal Sessions
  - name: Customers
  - name: Insights
  - name: Invoices
  - name: Payments
  - name: Plans
  - name: Product Bundles
  - name: Products
  - name: Refunds
  - name: Revenue Schedules
  - name: Subscription Changes
  - name: Subscription Versions
  - name: Subscriptions
  - name: Wallet Grants
  - name: Wallets
paths:
  /refunds:
    get:
      tags:
        - Refunds
      summary: List refunds
      description: >-
        Returns a paginated list of refunds. Supports filtering by status,
        currency, customer, and payment. Sortable by status, amount, currency,
        and created date.
      operationId: list-refunds
      parameters:
        - in: header
          name: Alguna-Version
          required: true
          schema:
            enum:
              - '2026-04-01'
            type: string
        - in: query
          name: currency
          schema:
            description: Filter by ISO 4217 currency code
            example: USD
            type: string
        - in: query
          name: customer_id
          schema:
            description: Filter by customer ID
            example: cust_abc123
            type: string
        - in: query
          name: limit
          required: true
          schema:
            description: Number of items to return per page
            example: 20
            format: int64
            type: integer
        - in: query
          name: offset
          required: true
          schema:
            description: Number of items to skip
            example: 0
            format: int64
            type: integer
        - in: query
          name: payment_id
          schema:
            description: Filter by payment ID
            example: pay_abc123
            type: string
        - in: query
          name: sort
          required: true
          schema:
            description: Sort field and direction in format field:order
            example: created_at:desc
            type: string
        - explode: false
          in: query
          name: status
          schema:
            description: Filter by refund status. Pass a comma-separated list to match any.
            example: succeeded
            items:
              enum:
                - pending
                - succeeded
                - failed
                - canceled
              type: string
            type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundListResponse'
          description: Success
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Unprocessable Entity
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal Server Error
components:
  schemas:
    RefundListResponse:
      properties:
        data:
          description: List of refunds
          items:
            $ref: '#/components/schemas/RefundResponse'
          type: array
        pagination:
          allOf:
            - $ref: '#/components/schemas/PaginationMeta'
          description: Pagination metadata
      required:
        - data
        - pagination
      type: object
    ErrorResponse:
      properties:
        detail:
          type: string
        status:
          format: int64
          type: integer
      required:
        - status
        - detail
      type: object
    RefundResponse:
      properties:
        amount:
          description: Refund amount as a decimal string
          example: '99.00'
          type: string
        created_at:
          description: Timestamp when the refund was created
          example: '2026-04-01T10:00:00Z'
          format: date-time
          type: string
        currency:
          description: Currency code
          example: USD
          type: string
        customer_id:
          description: The customer that received the refund
          example: cust_01H1VECT
          type: string
        external_id:
          description: External reference ID from the payment processor
          nullable: true
          type: string
        external_url:
          description: Link to view the refund in the payment processor's dashboard
          nullable: true
          type: string
        failure_reason:
          description: Reason for failure if status is failed
          nullable: true
          type: string
        id:
          description: Unique identifier for the refund
          example: re_01H1VECT
          type: string
        payment_id:
          description: The original payment that was refunded
          example: pay_01H1VECT
          type: string
        processor_id:
          description: Payment processor's internal refund ID
          nullable: true
          type: string
        reason:
          description: Reason for the refund
          example: Customer requested refund
          nullable: true
          type: string
        status:
          description: Refund status
          enum:
            - pending
            - succeeded
            - failed
            - canceled
          example: succeeded
          type: string
        updated_at:
          description: Timestamp when the refund was last updated
          example: '2026-04-01T12:30:00Z'
          format: date-time
          type: string
      required:
        - amount
        - created_at
        - currency
        - customer_id
        - id
        - payment_id
        - status
        - updated_at
      type: object
    PaginationMeta:
      properties:
        per_page:
          description: Number of items returned per page
          example: 20
          format: int64
          type: integer
        total_pages:
          description: Total number of pages available
          example: 5
          format: int64
          type: integer
      required:
        - per_page
        - total_pages
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: API Key
      description: API key authentication. Pass your API key as a Bearer token.
      scheme: bearer
      type: http

````