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

# List refunds



## OpenAPI

````yaml Flutterwave_v4_Open_API.json get /refunds
openapi: 3.1.0
info:
  version: '1.0'
  title: Flutterwave APIs
  description: APIs for Enterprise Customers
  contact:
    name: Flutterwave
    email: hi@flutterwavego.com
servers:
  - url: https://developersandbox-api.flutterwave.com
    description: Dev server
security:
  - bearerAuth: []
paths:
  /refunds:
    get:
      tags:
        - Refunds
      summary: List refunds
      operationId: refunds_list
      parameters:
        - $ref: '#/components/parameters/trace_id'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/size'
        - $ref: '#/components/parameters/from_datetime'
        - $ref: '#/components/parameters/to_datetime'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  status:
                    $ref: '#/components/schemas/status'
                  message:
                    type: string
                  meta:
                    $ref: '#/components/schemas/list_response_meta'
                  data:
                    type: array
                    maxItems: 10
                    items:
                      $ref: '#/components/schemas/refund'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/400'
        '401':
          description: Unauthorised request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/401'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/403'
components:
  parameters:
    trace_id:
      description: >-
        A unique identifier to track this operation. It must be between 12 and
        255 characters in length.
      in: header
      name: X-Trace-Id
      schema:
        type: string
        minLength: 12
        maxLength: 255
      example: acb123e4-f567-4a8b-9c0d-1e2f3a4b5c6d
    page:
      in: query
      name: page
      description: >-
        The page of the data to retrieve. The most recent data entry is on page
        1.
      schema:
        type: integer
        minimum: 1
        default: 1
      example: 1
    size:
      in: query
      name: size
      description: Length of data returned. Defaults to 10.
      schema:
        type: integer
        minimum: 10
        maximum: 50
        default: 10
      example: 10
    from_datetime:
      in: query
      name: from
      schema:
        type: string
        format: date-time
      description: >-
        The start date and time for a period. This parameter is used in
        conjunction with the 'to' parameter to define a time range. The value
        should be in ISO 8601 format.
      example: '2025-04-21T10:55:16Z'
    to_datetime:
      in: query
      name: to
      schema:
        type: string
        format: date-time
      description: >-
        The end date and time for a period. This parameter is used in
        conjunction with the 'from' parameter to define a time range. The value
        should be in **ISO 8601 format**.
      example: '2025-05-21T10:48:18Z'
  schemas:
    '400':
      description: Bad Request
      type: object
      properties:
        status:
          type: string
          nullable: false
          enum:
            - failed
        error:
          type: object
          properties:
            type:
              type: string
              example: REQUEST_NOT_VALID
            code:
              type: string
              example: '10400'
            message:
              type: string
              nullable: true
              example: Request is not valid
            validation_errors:
              type: array
              items:
                type: object
                properties:
                  field_name:
                    type: string
                    example: amount
                  message:
                    type: string
                    example: must not be null
          description: >-
            The request cannot be accepted and is malformed and/or missing
            required parameters.
    '401':
      description: Unauthorized
      type: object
      properties:
        status:
          type: string
          nullable: false
          enum:
            - failed
        message:
          type: string
          nullable: true
          description: Invalid API key provided
          example: UNAUTHORIZED
        error:
          type: object
          properties:
            type:
              type: string
              example: UNAUTHORIZED
            code:
              type: string
              example: '10401'
            message:
              type: string
              example: unauthorized
    '403':
      description: Forbidden
      type: object
      properties:
        status:
          type: string
          nullable: false
          enum:
            - failed
        message:
          type: string
          description: API key doesn't have permission to access this resource
        error:
          type: object
          properties:
            type:
              type: string
              example: FORBIDDEN
            code:
              type: string
              example: '10403'
            message:
              type: string
              example: Forbidden
    status:
      type: string
      nullable: false
      enum:
        - success
        - failed
    list_response_meta:
      type: object
      properties:
        page_info:
          $ref: '#/components/schemas/page_info'
    refund:
      description: A refund of a previously created charge
      type: object
      properties:
        id:
          description: ID of the refund
          type: string
        amount_refunded:
          allOf:
            - $ref: '#/components/schemas/amount'
          description: Amount of the refund
        meta:
          $ref: '#/components/schemas/meta'
        reason:
          type: string
          enum:
            - duplicate
            - fraudulent
            - requested_by_customer
            - expired_uncaptured_charge
          description: Reason for the refund
          example: requested_by_customer
        status:
          type: string
          enum:
            - pending
            - requires_action
            - succeeded
            - failed
            - cancelled
            - completed
            - new
          description: Status of the refund
          example: new
        charge_id:
          type: string
          description: ID of the charge tied to this refund
          example: chg_VnUihmASmF
        created_datetime:
          type: string
    page_info:
      type: object
      properties:
        total:
          type: integer
          description: The total number of items available across all pages
          format: int64
        current_page:
          type: integer
          description: The current page number being viewed
          format: int64
        total_pages:
          type: integer
          description: The total number of pages required to display all items.
          format: int64
    amount:
      type: number
      format: decimal
      description: The payment amount in decimals.
      example: 12.34
      minimum: 0.01
    meta:
      type: object
      additionalProperties:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````