# List Refunds List all refunds with pagination and filtering Endpoint: GET /refunds Version: 1.0.0 Security: OAuth2 ## Query parameters: - `status` (string) Enum: "PENDING", "PROCESSING", "COMPLETED", "FAILED", "CANCELLED" - `refund_type` (string) Enum: "INVOICE", "CHARGE", "STANDALONE" - `page` (integer) Page number (1-indexed) Example: 1 - `page_size` (integer) Number of items per page Example: 50 ## Response 200 fields (application/json): - `results` (array, required) - `results.id` (string, required) - `results.entityId` (string, required) - `results.refundType` (string, required) Enum: "INVOICE", "CHARGE", "STANDALONE" - `results.invoiceIds` (array) - `results.chargeIds` (array) - `results.accountId` (string) - `results.amount` (integer, required) - `results.status` (string, required) Enum: "PENDING", "PROCESSING", "COMPLETED", "FAILED", "CANCELLED" - `results.reason` (string) - `results.paymentTransactionId` (string) Payment gateway transaction ID - `results.journalEntryId` (string) Linked journal entry - `results.failureReason` (string) Reason for failure (if status is FAILED) - `results.metadata` (object) - `results.optimisticLockVersion` (integer) Optimistic locking version (managed by Hibernate @Version). Prevents concurrent update conflicts. - `results.createdAt` (string, required) - `results.updatedAt` (string) - `results.completedAt` (string) - `pagination` (object, required) - `pagination.totalRecords` (integer, required) Total number of records across all pages Example: 100 - `pagination.currentPage` (integer, required) Current page number (1-indexed) Example: 1 - `pagination.totalPages` (integer, required) Total number of pages Example: 10 - `pagination.nextPage` (integer,null) Next page number, null if on last page Example: 2 - `pagination.prevPage` (integer,null) Previous page number, null if on first page ## Response 401 fields (application/json): - `result` (object, required) - `result.status` (string, required) Response status (always ERROR for error responses) Enum: "ERROR" - `error` (object, required) - `error.responseCode` (string, required) Response code (numeric or contains numbers, e.g., "404", "409", "500", "ERR001") Example: "404" - `error.responseMessage` (array, required) Array of error message strings for multiple error details Example: ["Charge not found","The requested charge ID does not exist in the system"]