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

# Get Refunds

> 
Returns refunds for the authenticated nonprofit based on the provided filters.

---

### Refund Status

* `PENDING`: The refund request has been created and is awaiting processor completion.
* `SUCCEEDED`: The refund has completed successfully.
* `FAILED`: The refund failed at the processor or settlement layer.
* `CANCELED`: The refund was canceled before completion.
* `REQUIRES_ACTION`: Additional action is required before the refund can complete.

---

### Refund Reasons

* `REQUESTED_BY_CUSTOMER`: The donor requested the refund.
* `FRAUDULENT`: The refund was issued due to suspected fraud.
* `DUPLICATE`: The refund was issued for a duplicate charge.
* `EXPIRED_OR_UNCAPTURED_CHARGE`: The original charge expired or was not captured.

---

### Filtering

* Use `contributionId` to return refunds for a specific contribution.
* Use `minimumUpdatedDate` and `maximumUpdatedDate` to poll for refunds that changed within a specific window.
* Results are sorted by `createdAt` (ascending or descending via `sortDirection`) and paginated with `limit` and `page`.

All monetary amounts in the response are expressed in cents.




## OpenAPI

````yaml https://server.stage.overflow.co/api/docs/openapi.json get /api/v3/refunds
openapi: 3.0.0
info:
  title: Overflow Open API
  description: |

    The documentation for the Overflow Open APIs.

    To access the OpenAPI spec in JSON/YAML format, navigate to:

    * `/api/docs/openapi.json`
    * `/api/docs/openapi.yaml`
  version: '3.0'
  contact: {}
servers:
  - url: https://server.stage.overflow.co
    description: API server
security: []
tags: []
paths:
  /api/v3/refunds:
    get:
      tags:
        - Refunds
      summary: Get Refunds
      description: >

        Returns refunds for the authenticated nonprofit based on the provided
        filters.


        ---


        ### Refund Status


        * `PENDING`: The refund request has been created and is awaiting
        processor completion.

        * `SUCCEEDED`: The refund has completed successfully.

        * `FAILED`: The refund failed at the processor or settlement layer.

        * `CANCELED`: The refund was canceled before completion.

        * `REQUIRES_ACTION`: Additional action is required before the refund can
        complete.


        ---


        ### Refund Reasons


        * `REQUESTED_BY_CUSTOMER`: The donor requested the refund.

        * `FRAUDULENT`: The refund was issued due to suspected fraud.

        * `DUPLICATE`: The refund was issued for a duplicate charge.

        * `EXPIRED_OR_UNCAPTURED_CHARGE`: The original charge expired or was not
        captured.


        ---


        ### Filtering


        * Use `contributionId` to return refunds for a specific contribution.

        * Use `minimumUpdatedDate` and `maximumUpdatedDate` to poll for refunds
        that changed within a specific window.

        * Results are sorted by `createdAt` (ascending or descending via
        `sortDirection`) and paginated with `limit` and `page`.


        All monetary amounts in the response are expressed in cents.
      operationId: OpenApiRefundsController_getRefunds
      parameters:
        - name: limit
          required: false
          in: query
          description: The number of refunds to return.
          schema:
            minimum: 1
            maximum: 100
            default: 25
            type: number
        - name: page
          required: false
          in: query
          description: The page number of the refunds to return.
          schema:
            minimum: 1
            default: 1
            type: number
        - name: sortDirection
          required: false
          in: query
          description: Sort direction by refund created date. Defaults to descending.
          schema:
            example: DESC
            enum:
              - ASC
              - DESC
            type: string
        - name: contributionId
          required: false
          in: query
          description: Filter by contribution id.
          schema:
            pattern: ^[0-9a-fA-F]{24}$
            example: 8810f34fd5061afeec3eab68
            type: string
        - name: minimumUpdatedDate
          required: false
          in: query
          description: The minimum updated date of the refunds to return.
          schema:
            format: date-time
            example: '2025-01-01'
            type: string
        - name: maximumUpdatedDate
          required: false
          in: query
          description: The maximum updated date of the refunds to return.
          schema:
            format: date-time
            example: '2025-02-01'
            type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRefundsResponse'
      security:
        - ClientId: []
          ApiKey: []
components:
  schemas:
    GetRefundsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Refund id.
                example: 8810f34fd5061afeec3eab67
              contributionId:
                type: string
                description: Contribution id associated with the refund.
                example: 8810f34fd5061afeec3eab68
              status:
                type: string
                enum:
                  - CANCELED
                  - FAILED
                  - PENDING
                  - REQUIRES_ACTION
                  - SUCCEEDED
                description: Refund status.
                example: SUCCEEDED
              reason:
                type: string
                enum:
                  - DUPLICATE
                  - EXPIRED_OR_UNCAPTURED_CHARGE
                  - FRAUDULENT
                  - REQUESTED_BY_CUSTOMER
                nullable: true
                description: Refund reason when provided by the processor.
                example: REQUESTED_BY_CUSTOMER
              amountInCents:
                type: number
                description: Gross refund amount in cents.
                example: 12500
              netValueInCents:
                type: number
                description: Net refund amount in cents.
                example: 12100
              feeValueInCents:
                type: number
                nullable: true
                description: Total refund fees in cents.
                example: 400
              processorRefundId:
                type: string
                description: Processor refund identifier.
                example: re_123456789
              depositId:
                type: string
                nullable: true
                description: Deposit id associated with the refund, when available.
                example: 8810f34fd5061afeec3eab69
              createdAt:
                type: string
                format: date-time
                description: Date the refund was created.
                example: '2026-05-19T00:00:00.000Z'
              updatedAt:
                type: string
                format: date-time
                description: Date the refund was last updated.
                example: '2026-05-20T00:00:00.000Z'
            required:
              - id
              - contributionId
              - status
              - reason
              - amountInCents
              - netValueInCents
              - feeValueInCents
              - processorRefundId
              - depositId
              - createdAt
              - updatedAt
          description: List of refunds.
        totalCount:
          type: number
          description: Total number of refunds matching the filters.
          example: 100
      required:
        - data
        - totalCount
  securitySchemes:
    ClientId:
      type: apiKey
      in: header
      name: x-client-id
      description: Client ID for API authentication
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API Key for API authentication

````