Mifos Mobile REST API Documentation
Table of Contents
Overview
This documentation covers the REST API endpoints used by the Mifos mobile application. The API provides functionality for user authentication, client management, loan and savings account operations, beneficiary management, and transaction processing.
https://sandbox.mifos.community/fineract-provider/swagger-ui/index.html#/
Postman Collection
The Mifos Mobile Postman collection is a set of pre-configured API requests designed to test and interact with the Mifos Mobile (End User App) backend services. It simplifies development, debugging, and integration by allowing developers to simulate user operations like authentication, account lookup, transactions, and more — all aligned with the Mifos API structure. This collection helps ensure smoother API communication between the mobile app and the Mifos backend.
📋 How to Use:
Download the file above (click the download button)
Import into Postman
Create Environment with these variables:
baseUrl: https://tt.mifos.community/fineract-provider/api/v1 tenantId: default username: your-username password: your-passwordStart Testing - All endpoints are ready to use!
Base URL
https://tt.mifos.community/fineract-provider/api/v1/
Authentication
All API endpoints require authentication unless specified otherwise.
POST /auth
Authenticate user credentials and obtain access token.
Request Body:
{
"username": "string",
"password": "string"
}
Response:
{
"userId": "number",
"username": "string",
"token": "string",
"permissions": ["string"]
}
Registration Service
Register New User
Endpoint:
POST /registrationDescription: Registers a new user account
Request Body:
RegisterPayloadResponse: HTTP response with registration status
Authentication: Not required
Verify User
Endpoint:
POST /registration/userDescription: Verifies user registration
Request Body:
UserVerifyResponse: HTTP response with verification status
Authentication: Not required
Authentication Service
Authenticate User
Endpoint:
POST /authenticationDescription: Authenticates user credentials
Request Body:
LoginPayloadResponse:
UserobjectAuthentication: Not required
Beneficiary Service
Get Beneficiary List
Endpoint:
GET /beneficiaries/tptDescription: Retrieves list of third-party transfer beneficiaries
Response: Array of
Beneficiaryobjects
Get Beneficiary Template
Endpoint:
GET /beneficiaries/tpt/templateDescription: Retrieves template data for creating beneficiaries
Response:
BeneficiaryTemplateobject
Create Beneficiary
Endpoint:
POST /beneficiaries/tptDescription: Creates a new beneficiary for third-party transfers
Request Body:
BeneficiaryPayloadResponse: HTTP response with creation status
Update Beneficiary
Endpoint:
PUT /beneficiaries/tpt/{beneficiaryId}Description: Updates an existing beneficiary
Path Parameters:
beneficiaryId(Long): ID of the beneficiary to update
Request Body:
BeneficiaryUpdatePayloadResponse: HTTP response with update status
Delete Beneficiary
Endpoint:
DELETE /beneficiaries/tpt/{beneficiaryId}Description: Deletes a beneficiary
Path Parameters:
beneficiaryId(Long): ID of the beneficiary to delete
Response: HTTP response with deletion status
Client Service
Get All Clients
Endpoint:
GET /clientsDescription: Retrieves paginated list of all clients
Response:
Page<Client>object
Get Client by ID
Endpoint:
GET /clients/{clientId}Description: Retrieves detailed information for a specific client
Path Parameters:
clientId(Long): Unique identifier for the client
Response:
Clientobject
Get Client Image
Endpoint:
GET /clients/{clientId}/imagesDescription: Retrieves the profile image for a client
Path Parameters:
clientId(Long): Unique identifier for the client
Response: Image data in HTTP response
Get Client Accounts
Endpoint:
GET /clients/{clientId}/accountsDescription: Retrieves all accounts associated with a client
Path Parameters:
clientId(Long): Unique identifier for the client
Query Parameters:
fields(String, optional): Specific account type to filter
Response:
ClientAccountsobject
Client Charge Service
Get Client Charges
Endpoint:
GET /clients/{clientId}/chargesDescription: Retrieves all charges associated with a client
Path Parameters:
clientId(Long): Unique identifier for the client
Response:
Page<Charge>object
Get Charges by Type
Endpoint:
GET /{chargeType}/{chargeTypeId}/chargesDescription: Retrieves charges for a specific charge type and ID
Path Parameters:
chargeType(String): Type of charge (e.g., "loans", "savings")chargeTypeId(Long): ID of the specific charge type
Response: Array of
Chargeobjects
Loan Accounts Service
Get Loan Account Details
Endpoint:
GET /loans/{loanId}Description: Retrieves detailed information for a specific loan account
Path Parameters:
loanId(Long): Unique identifier for the loan
Response:
LoanAccountobject
Get Loan with Associations
Endpoint:
GET /loans/{loanId}Description: Retrieves loan details with associated data
Path Parameters:
loanId(Long): Unique identifier for the loan
Query Parameters:
associations(String, optional): Type of associations to include
Response:
LoanWithAssociationsobject
Get Loan Template
Endpoint:
GET /loans/template?templateType=individualDescription: Retrieves template for creating individual loans
Query Parameters:
clientId(Long, optional): Client ID for templateproductId(Integer, optional): Loan product ID for template
Response:
LoanTemplateobject
Create Loan Account
Endpoint:
POST /loansDescription: Creates a new loan account
Request Body:
LoansPayloadResponse: HTTP response with creation status
Update Loan Account
Endpoint:
PUT /loans/{loanId}Description: Updates an existing loan account
Path Parameters:
loanId(Long): Unique identifier for the loan
Request Body:
LoansPayloadResponse: HTTP response with update status
Withdraw Loan Application
Endpoint:
POST /loans/{loanId}?command=withdrawnByApplicantDescription: Withdraws a loan application
Path Parameters:
loanId(Long): Unique identifier for the loan
Request Body:
LoanWithdrawResponse: HTTP response with withdrawal status
Guarantor Service
Get Guarantor Template
Endpoint:
GET /loans/{loanId}/guarantors/templateDescription: Retrieves template for creating guarantors
Path Parameters:
loanId(Long): Unique identifier for the loan
Response:
GuarantorTemplatePayloadobject
Get Guarantor List
Endpoint:
GET /loans/{loanId}/guarantorsDescription: Retrieves all guarantors for a loan
Path Parameters:
loanId(Long): Unique identifier for the loan
Response: Array of
GuarantorPayloadobjects
Create Guarantor
Endpoint:
POST /loans/{loanId}/guarantorsDescription: Creates a new guarantor for a loan
Path Parameters:
loanId(Long): Unique identifier for the loan
Request Body:
GuarantorApplicationPayloadResponse: HTTP response with creation status
Update Guarantor
Endpoint:
PUT /loans/{loanId}/guarantors/{guarantorId}Description: Updates an existing guarantor
Path Parameters:
loanId(Long): Unique identifier for the loanguarantorId(Long): Unique identifier for the guarantor
Request Body:
GuarantorApplicationPayloadResponse: HTTP response with update status
Delete Guarantor
Endpoint:
DELETE /loans/{loanId}/guarantors/{guarantorId}Description: Removes a guarantor from a loan
Path Parameters:
loanId(Long): Unique identifier for the loanguarantorId(Long): Unique identifier for the guarantor
Response: HTTP response with deletion status
Savings Accounts Service
Get Savings Account with Associations
Endpoint:
GET /savingsaccounts/{accountId}Description: Retrieves savings account details with associated data
Path Parameters:
accountId(Long): Unique identifier for the savings account
Query Parameters:
associations(String, optional): Type of associations to include
Response:
SavingsWithAssociationsobject
Get Account Transfer Template
Endpoint:
GET /accounttransfers/templateDescription: Retrieves template for account transfers
Query Parameters:
fromAccountId(Long, optional): Source account IDfromAccountType(Long, optional): Source account type
Response:
AccountOptionsTemplateobject
Make Account Transfer
Endpoint:
POST /accounttransfersDescription: Executes a transfer between accounts
Request Body:
TransferPayload