Files
Azeez Muibi 7ec9eada4d update
2025-05-02 09:13:45 +01:00

187 lines
4.4 KiB
JSON

{
"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"
}
}
}
}