125 lines
3.0 KiB
JSON
125 lines
3.0 KiB
JSON
{
|
|
"get": {
|
|
"tags": ["Repayment Schedules"],
|
|
"summary": "Get all loan repayment schedules with optional filtering",
|
|
"description": "Retrieve loan repayment schedules with various filter options including loan ID, product ID, paid status, etc.",
|
|
"operationId": "getRepaymentSchedules",
|
|
"parameters": [
|
|
{
|
|
"name": "loan_id",
|
|
"in": "query",
|
|
"description": "Filter by loan ID",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"example": 1234
|
|
},
|
|
{
|
|
"name": "product_id",
|
|
"in": "query",
|
|
"description": "Filter by product ID",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "101"
|
|
},
|
|
{
|
|
"name": "transaction_id",
|
|
"in": "query",
|
|
"description": "Filter by transaction ID",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"example": "TRX789"
|
|
},
|
|
{
|
|
"name": "paid",
|
|
"in": "query",
|
|
"description": "Filter by paid status (true/false)",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "boolean"
|
|
},
|
|
"example": false
|
|
},
|
|
{
|
|
"name": "due_before",
|
|
"in": "query",
|
|
"description": "Filter schedules 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 schedules due after this date (ISO format)",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"example": "2023-01-01T00:00:00Z"
|
|
},
|
|
{
|
|
"name": "installment_number",
|
|
"in": "query",
|
|
"description": "Filter by installment number",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "integer"
|
|
},
|
|
"example": 1
|
|
},
|
|
{
|
|
"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/RepaymentSchedulesResponse.json"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request"
|
|
},
|
|
"500": {
|
|
"description": "Internal server error"
|
|
}
|
|
}
|
|
}
|
|
} |