NAVCDP Sacco API Documentation

Authentication

All API requests require an API key and a Bearer token for authentication.

Authorization: Bearer YOUR_TOKEN
X-API-KEY: YOUR_API_KEY

Endpoints

1. Register

Endpoint: POST /api/v1/register

Request Body:

{
    "name": "XXX Sacco",
    "email": "xxx@sacco.pro",
    "password": "Xxxxx@2025!"
}

Response:

{
    "status": "success",
    "message": "User registered successfully",
    "api_key": "your_api_key_here"
}

2. Login

Endpoint: POST /api/v1/login

Request Body:

{
    "email": "mangu@sacco.pro",
    "api_key": "your_api_key_here"
}

Response:

{
    "status": "success",
    "message": "Login successful",
    "token": "your_jwt_token_here"
}

3. Fetch Common Interest Groups

Endpoint: POST /api/v1/cig

Response:

{
    "success": true,
    "message": "Common Interest Groups",
    "data": {
        "cig": [
            { "code": "C001", "name": "CIG One", "members": "1" }
        ]
    }
}

4. Fetch Member Details

Endpoint: POST /api/v1/member

Response:

{
    "success": true,
    "message": "Members",
    "data": [
        {
            "code": "N001",
            "name": "PETER MUCHEMI",
            "cig": "C001",
            "email": "pmuchemi@gmail.com"
        }
    ]
}

5. Fetch Contributions

Endpoint: POST /api/v1/contribution

Response:

{
    "success": true,
    "message": "Contributions",
    "data": {
        "total": [
            { "member": "N001", "name": "PETER MUCHEMI", "amount": "20000.00" }
        ]
    }
}

6. Fetch Loans

Endpoint: POST /api/v1/loan

Response:

{
    "success": true,
    "message": "Loans",
    "data": [
        {
            "loan": "NVL00001",
            "type": "NAVCDP LOANS",
            "principal": "12000.00",
            "balance": "12000.00",
            "status": "Active"
        }
    ]
}

7. Fetch Repayments

Endpoint: POST /api/v1/repayment

Response:

{
    "success": true,
    "message": "Repayments",
    "data": [
        { "no": "NVLR00001", "member": "N001", "amount": "1250.00", "status": "Pending" }
    ]
}