{ "get": { "tags": ["Loans"], "summary": "Get all loans with optional filtering", "description": "Retrieve loans with various filter options including customer ID, account ID, status, etc.", "operationId": "getLoans", "parameters": [ { "name": "id", "in": "query", "description": "Filter by loan ID", "required": false, "schema": { "type": "integer" }, "example": 1234 }, { "name": "customer_id", "in": "query", "description": "Filter by customer ID", "required": false, "schema": { "type": "string" }, "example": "CUST123" }, { "name": "account_id", "in": "query", "description": "Filter by account ID", "required": false, "schema": { "type": "string" }, "example": "ACC456" }, { "name": "transaction_id", "in": "query", "description": "Filter by transaction ID", "required": false, "schema": { "type": "string" }, "example": "TRX789" }, { "name": "original_transaction", "in": "query", "description": "Filter by original transaction", "required": false, "schema": { "type": "string" }, "example": "ORIG123" }, { "name": "status", "in": "query", "description": "Filter by loan status", "required": false, "schema": { "type": "string" }, "example": "active" }, { "name": "tenor", "in": "query", "description": "Filter by loan tenor", "required": false, "schema": { "type": "string" }, "example": "30" }, { "name": "offer_id", "in": "query", "description": "Filter by offer ID", "required": false, "schema": { "type": "string" }, "example": "OFFER789" }, { "name": "product_id", "in": "query", "description": "Filter by product ID", "required": false, "schema": { "type": "string" }, "example": "PROD101" }, { "name": "start_date", "in": "query", "description": "Filter by start date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-01-01T00:00:00Z" }, { "name": "end_date", "in": "query", "description": "Filter by end date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-12-31T23:59:59Z" }, { "name": "due_before", "in": "query", "description": "Filter loans due before this date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-12-31T23:59:59Z" }, { "name": "due_after", "in": "query", "description": "Filter loans due after this date (ISO format)", "required": false, "schema": { "type": "string", "format": "date-time" }, "example": "2023-01-01T00:00:00Z" }, { "name": "page", "in": "query", "description": "Page number for pagination", "required": false, "schema": { "type": "integer", "default": 1, "minimum": 1 }, "example": 1 }, { "name": "limit", "in": "query", "description": "Number of items per page (max 100)", "required": false, "schema": { "type": "integer", "default": 20, "minimum": 1, "maximum": 100 }, "example": 20 } ], "responses": { "200": { "description": "Successful operation", "content": { "application/json": { "schema": { "$ref": "../schemas/LoansResponse.json" } } } }, "400": { "description": "Invalid request" }, "500": { "description": "Internal server error" } } } }