Mifos Mobile REST API Documentation

Mifos Mobile REST API Documentation

Table of Contents

  1. Overview

  2. Postman Collection

  3. Base URL

  4. Authentication

  5. Registration Service

  6. Authentication Service

  7. Beneficiary Service

  8. Client Service

  9. Client Charge Service

  10. Loan Accounts Service

  11. Guarantor Service

  12. Savings Accounts Service

  13. Third Party Transfer Service

  14. Recent Transactions Service

  15. Notification Service

  16. User Details Service

  17. Common Response Formats

  18. Error Handling

  19. Notes

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:

  1. Download the file above (click the download button)

  2. Import into Postman

  3. Create Environment with these variables:

    baseUrl: https://tt.mifos.community/fineract-provider/api/v1 tenantId: default username: your-username password: your-password
  4. Start 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 /registration

  • Description: Registers a new user account

  • Request Body: RegisterPayload

  • Response: HTTP response with registration status

  • Authentication: Not required

Verify User

  • Endpoint: POST /registration/user

  • Description: Verifies user registration

  • Request Body: UserVerify

  • Response: HTTP response with verification status

  • Authentication: Not required


Authentication Service

Authenticate User

  • Endpoint: POST /authentication

  • Description: Authenticates user credentials

  • Request Body: LoginPayload

  • Response: User object

  • Authentication: Not required


Beneficiary Service

Get Beneficiary List

  • Endpoint: GET /beneficiaries/tpt

  • Description: Retrieves list of third-party transfer beneficiaries

  • Response: Array of Beneficiary objects

Get Beneficiary Template

  • Endpoint: GET /beneficiaries/tpt/template

  • Description: Retrieves template data for creating beneficiaries

  • Response: BeneficiaryTemplate object

Create Beneficiary

  • Endpoint: POST /beneficiaries/tpt

  • Description: Creates a new beneficiary for third-party transfers

  • Request Body: BeneficiaryPayload

  • Response: 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: BeneficiaryUpdatePayload

  • Response: 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 /clients

  • Description: 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: Client object

Get Client Image

  • Endpoint: GET /clients/{clientId}/images

  • Description: 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}/accounts

  • Description: 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: ClientAccounts object


Client Charge Service

Get Client Charges

  • Endpoint: GET /clients/{clientId}/charges

  • Description: 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}/charges

  • Description: 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 Charge objects


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: LoanAccount object

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: LoanWithAssociations object

Get Loan Template

  • Endpoint: GET /loans/template?templateType=individual

  • Description: Retrieves template for creating individual loans

  • Query Parameters:

    • clientId (Long, optional): Client ID for template

    • productId (Integer, optional): Loan product ID for template

  • Response: LoanTemplate object

Create Loan Account

  • Endpoint: POST /loans

  • Description: Creates a new loan account

  • Request Body: LoansPayload

  • Response: 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: LoansPayload

  • Response: HTTP response with update status

Withdraw Loan Application

  • Endpoint: POST /loans/{loanId}?command=withdrawnByApplicant

  • Description: Withdraws a loan application

  • Path Parameters:

    • loanId (Long): Unique identifier for the loan

  • Request Body: LoanWithdraw

  • Response: HTTP response with withdrawal status


Guarantor Service

Get Guarantor Template

  • Endpoint: GET /loans/{loanId}/guarantors/template

  • Description: Retrieves template for creating guarantors

  • Path Parameters:

    • loanId (Long): Unique identifier for the loan

  • Response: GuarantorTemplatePayload object

Get Guarantor List

  • Endpoint: GET /loans/{loanId}/guarantors

  • Description: Retrieves all guarantors for a loan

  • Path Parameters:

    • loanId (Long): Unique identifier for the loan

  • Response: Array of GuarantorPayload objects

Create Guarantor

  • Endpoint: POST /loans/{loanId}/guarantors

  • Description: Creates a new guarantor for a loan

  • Path Parameters:

    • loanId (Long): Unique identifier for the loan

  • Request Body: GuarantorApplicationPayload

  • Response: 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 loan

    • guarantorId (Long): Unique identifier for the guarantor

  • Request Body: GuarantorApplicationPayload

  • Response: 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 loan

    • guarantorId (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: SavingsWithAssociations object

Get Account Transfer Template

  • Endpoint: GET /accounttransfers/template

  • Description: Retrieves template for account transfers

  • Query Parameters:

    • fromAccountId (Long, optional): Source account ID

    • fromAccountType (Long, optional): Source account type

  • Response: AccountOptionsTemplate object

Make Account Transfer

  • Endpoint: POST /accounttransfers

  • Description: Executes a transfer between accounts

  • Request Body: TransferPayload