REST API Reference

REST API Reference

Clients

getClientByNumber

SINCE

Mifos 2.2.1

TYPE

GET

URL

BASE_URL/client/num-{globalCustNum}.json

PATH ARGUMENTS

globalCustNum

REQUEST PARAMS

 

RETURNS

org.mifos.dto.screen.ClientInformationDto

EXAMPLE RESPONSE

{ "address": { "state": "", "country": "", "displayAddress": null, "city": "", "zip": "", "phoneNumber": "" }, "customerMeeting": { "meetingSchedule": "Recur every 1 Week(s) on Monday", "meetingPlace": "rest" }, "customerFlags": [], "clientPerformanceHistory": { "loanCycleNumber": 0, "lastLoanAmount": "0.0", "noOfActiveLoans": 2, "delinquentPortfolioAmount": "0.0", "totalSavingsAmount": "105.0", "meetingsAttended": 0, "meetingsMissed": 0, "loanCycleCounters": [ { "counter": 1, "offeringName": "REST Loan Product A" }, { "counter": 1, "offeringName": "REST Loan Product B" } ] }, "recentCustomerNotes": [ { "comment": "Active", "commentDate": "2011-09-12", "personnelName": "mifos" } ], "activeSurveys": false, "customerAccountSummary": { "globalAccountNum": "000100000000003", "nextDueAmount": "0.0" }, "savingsAccountsInUse": [ { "globalAccountNum": "000100000000006", "prdOfferingId": null, "prdOfferingName": "Savings A", "accountStateName": "Active", "accountStateId": 16, "savingsBalance": "10.0" }, { "globalAccountNum": "000100000000007", "prdOfferingId": null, "prdOfferingName": "Savings B", "accountStateName": "Active", "accountStateId": 16, "savingsBalance": "95.0" } ], "customerSurveys": [], "loanAccountsInUse": [ { "globalAccountNum": "000100000000004", "prdOfferingName": "REST Loan Product A", "outstandingBalance": "101.0", "totalAmountDue": "10.0", "accountStateName": "Active in Good Standing", "accountStateId": 5 }, { "globalAccountNum": "000100000000005", "prdOfferingName": "REST Loan Product B", "outstandingBalance": "1032.0", "totalAmountDue": "103.0", "accountStateName": "Active in Good Standing", "accountStateId": 5 } ], "clientDisplay": { "displayName": "Client REST API", "branchId": 2, "customerId": 3, "loanOfficerId": 2, "dateOfBirth": "1986-06-06", "governmentId": "", "maritalStatus": null, "globalCustNum": "0002-000000003", "externalId": "", "customerActivationDate": "2011-09-12", "customerLevelId": 1, "customerStatusName": "Active", "spouseFatherName": "first last", "trainedDate": null, "familyDetails": null, "age": 25, "businessActivities": null, "citizenship": null, "educationLevel": null, "handicapped": null, "numChildren": null, "povertyStatus": "Very poor", "customerStatusId": 3, "loanOfficerName": "loan officer", "parentCustomerDisplayName": "Group-REST", "customerFormedByDisplayName": "loan officer", "blackListed": false, "branchName": "Branch Office", "clientUnderGroup": true, "ethnicity": null, "areFamilyDetailsRequired": false, "spouseFatherValue": "Spouse" }, "closedLoanAccounts":[], "closedSavingsAccounts":[] }

getClientChargesByNumber

SINCE

Mifos 2.2.2

TYPE

GET

URL

BASE_URL/client/num-{globalCustNum}/charges.json

PATH ARGUMENTS

globalCustNum

REQUEST PARAMS

 

RETURNS

org.mifos.dto.domain.CustomerChargesDetailsDto

EXAMPLE RESPONSE

{ "accountFees" : [ ], "nextDueAmount" : "0.0", "recentActivities" : [ ], "totalAmountDue" : "0.0", "totalAmountInArrears" : "0.0", "upcomingChargesDate" : "2011-09-19", "upcomingInstallment" : { "feesActionDetails" : [ ], "miscFee" : "0.0", "miscFeePaid" : "0.0", "miscPenalty" : "0.0", "miscPenaltyPaid" : "0.0" } }

createClient

SINCE

Mifos 2.5

TYPE

POST

URL

BASE_URL/client/create.json

POST DATA

{ "officeId" : 2, "loanOfficerId" : 1, "formedBy" : 1, "groupFlag" : 1, "parentGroupId" : "2", "externalId" : "externalId", "governmentId" : "governmentId", "trained" : true, "trainedDate" : [2012,07,20], "dateOfBirth" : [1980,6,11], "activationDate" : [2012,07,20], "mfiJoiningDate" : [2012,07,20], "customerStatus" : 2, "clientNameDetail" : { "salutation" : 1, "firstName" : "firstN", "middleName" : "middleN", "lastName" : "lastN", "secondLastName" : "" }, "personalDetail" : { "ethnicity" : 132, "citizenship" : 130, "handicapped" : 138, "businessActivities" : 136, "maritalStatus" : 66, "educationLevel" : 135, "numberOfChildren" : 2, "gender" : 49, "povertyStatus" : 41 }, "address" : { "address1" : "address1", "address2" : "address2", "address3" : "address3", "city" : "city", "state" : "state", "country" : "country", "zip" : "zip-zip", "phoneNumber" : "+99 999999999" }, "accountFees" : [], "meeting" : { "meetingStartDate" : [2012,07,23], "meetingPlace" : "meting place", "recurrenceType" : 1, "dayNumber" : 2, "weekDay" : "", "rankOfDay" : "", "recurAfter" : 2 } }

RETURNS

Map

* phone
* displayName
* externalId
* address
* status
* state
* accountNum
* globalCustNum
* loanOfficer
* postal code
* country
* city

EXAMPLE RESPONSE

{ "phone":"+99 999999999", "dispalyName":"firstN middleN lastN", "externalId":"externalId", "address":"address1, address2, address3", "status":"success", "state":"state", "accountNum":"000100000000073", "globalCustNum":"0002-000000042", "loanOfficer":"loan officer", "postal code":"zip-zip", "country":"country", "city":"city" }

Groups

getGroupByNumber

SINCE

Mifos 2.2.2

TYPE

GET

URL

BASE_URL/group/num-{globalCustNum}.json

PATH ARGUMENTS

globalCustNum

REQUEST PARAMS

 

RETURNS

org.mifos.dto.screen.GroupInformationDto

EXAMPLE RESPONSE

{ "address":{ "state":"", "country":"", "displayAddress":null, "city":"", "zip":"", "phoneNumber":"" }, "customFields":[ ], "customerMeeting":{ "meetingSchedule":"Recur every 1 Week(s) on Monday", "meetingPlace":"rest" }, "customerPositions":null, "groupPerformanceHistory":{ "lastGroupLoanAmount":"0.0", "portfolioAtRisk":"0.0", "totalSavingsAmount":"105.0", "avgLoanAmountForMember":"550.0", "activeClientCount":"1", "totalOutStandingLoanAmount":"1100.0", "loanCycleCounters":[ ] }, "customerFlags":[ ], "recentCustomerNotes":[ { "comment":"Active", "commentDate":"2011-09-12", "personnelName":"mifos" } ], "activeSurveys":false, "customerAccountSummary":{ "globalAccountNum":"000100000000002", "nextDueAmount":"0.0" }, "savingsAccountsInUse":null, "customerSurveys":[ ], "groupDisplay":{ "displayName":"Group-REST", "branchId":2, "customerId":2, "loanOfficerId":2, "globalCustNum":"0002-000000002", "externalId":"", "customerActivationDate":"2011-09-12", "customerLevelId":2, "customerStatusName":"Active", "trainedDate":null, "customerStatusId":9, "loanOfficerName":"loan officer", "parentCustomerDisplayName":"Client-REST", "customerFormedByDisplayName":"loan officer", "trained":false, "blackListed":false }, "clientsOtherThanClosedAndCancelled":[ { "address":null, "displayName":"Client REST API", "customerId":3, "searchId":"1.1.1.1", "loanOfficerId":null, "globalCustNum":"0002-000000003", "externalId":null, "loanOfficerIdAsString":null } ], "loanAccountsInUse":[ ], "closedLoanAccounts":[], "closedSavingsAccounts":[] }

getGroupChargesByNumber

SINCE

Mifos 2.2.3

TYPE

GET

URL

BASE_URL/group/num-{globalCustNum}/charges.json

PATH ARGUMENTS

globalCustNum

REQUEST PARAMS

 

RETURNS

org.mifos.dto.domain.CustomerChargesDetailsDto

EXAMPLE RESPONSE

{ "accountFees" : [ ], "nextDueAmount" : "0.0", "recentActivities" : [ ], "totalAmountDue" : "0.0", "totalAmountInArrears" : "0.0", "upcomingChargesDate" : "2011-09-19", "upcomingInstallment" : { "feesActionDetails" : [ ], "miscFee" : "0.0", "miscFeePaid" : "0.0", "miscPenalty" : "0.0", "miscPenaltyPaid" : "0.0" } }

createGroup

SINCE

Mifos 2.5

TYPE

POST

URL

BASE_URL/group/create.json

POST DATA

{ "centerId" : 1, "officeId" : 2, "displayName" : "RestCreateGroup", "loanOfficerId" : 1, "externalId" : "11aaxx", "trained" : true, "trainedDate" : "2012-07-20", "activationDate" : "2012-07-20", "mfiJoiningDate" : "2012-07-20", "customerStatus" : 8, "parentSystemId" : "0002-000000001", "address" : { "address1" : "address1", "address2" : "address2", "address3" : "address3", "city" : "city", "state" : "state", "country" : "country", "zip" : "zip-zip", "phoneNumber" : "+99 999999999" }, "accountFees" : [], "meeting" : { "meetingStartDate" : "2012-07-23", "meetingPlace" : "meting place", "recurrenceType" : 1, "dayNumber" : 2, "weekDay" : "", "rankOfDay" : "", "recurAfter" : 2 } }

RETURNS

Map

* phone
* displayName
* externalId
* address
* status
* state
* accountNum
* globalCustNum
* loanOfficer
* postal code
* country
* city

EXAMPLE RESPONSE

{ "phone":"+99 999999999", "dispalyName":"RestCreateGroup", "externalId":"11aaxx", "address":"address1, address2, address3", "status":"success", "state":"state", "accountNum":"000100000000074", "globalCusNum":"0002-000000043", "loanOfficer":"loan officer", "postal code":"zip-zip", "country":"country", "city":"city" }

Centers

getCenterByNumber

SINCE

Mifos 2.2.2

TYPE

GET

URL

BASE_URL/center/num-{globalCustNum}.json

PATH ARGUMENTS

globalCustNum

REQUEST PARAMS

 

RETURNS

org.mifos.dto.domain.CenterInformationDto

EXAMPLE RESPONSE

{ "address":{ "state":"", "country":"", "displayAddress":null, "city":"", "zip":"", "phoneNumber":"" }, "centerPerformanceHistory":{ "numberOfGroups":1, "portfolioAtRisk":"0.2", "totalSavings":"105.0", "totalOutstandingPortfolio":"1100.0", "numberOfClients":1 }, "customFields":[ ], "customerMeeting":{ "meetingSchedule":"Recur every 1 Week(s) on Monday", "meetingPlace":"rest" }, "customerPositions":null, "recentCustomerNotes":null, "activeSurveys":false, "centerDisplay":{ "displayName":"Client-REST", "branchId":2, "customerId":1, "loanOfficerId":2, "globalCustNum":"0002-000000001", "externalId":"", "createdDate":"2011-09-12", "customerLevelId":3, "versionNo":15, "mfiJoiningDate":"2011-09-12", "customerStatusName":"Active", "customerStatusId":13, "loanOfficerName":"loan officer" }, "customerAccountSummary":{ "globalAccountNum":"000100000000001", "nextDueAmount":"0.0" }, "groupsOtherThanClosedAndCancelled":[ { "address":null, "displayName":"Group-REST", "customerId":2, "searchId":"1.1.1", "loanOfficerId":null, "globalCustNum":"0002-000000002", "externalId":null, "loanOfficerIdAsString":null } ], "savingsAccountsInUse":null, "customerSurveys":[ ], "closedSavingsAccounts":[] }

getCenterChargesByNumber

SINCE

Mifos 2.2.3

TYPE

GET

URL

BASE_URL/center/num-{globalCustNum}/charges.json

PATH ARGUMENTS

globalCustNum

REQUEST PARAMS

 

RETURNS

org.mifos.dto.domain.CustomerChargesDetailsDto

EXAMPLE RESPONSE

{ "accountFees" : [ ], "nextDueAmount" : "0.0", "recentActivities" : [ ], "totalAmountDue" : "0.0", "totalAmountInArrears" : "0.0", "upcomingChargesDate" : "2011-09-19", "upcomingInstallment" : { "feesActionDetails" : [ ], "miscFee" : "0.0", "miscFeePaid" : "0.0", "miscPenalty" : "0.0", "miscPenaltyPaid" : "0.0" } }

createCenter

SINCE

Mifos 2.5

TYPE

POST

URL

BASE_URL/center/create.json

POST DATA

{ "mfiJoiningDate": [2012,07,23], "displayName" : "NewRestCenter", "externalId" : "1234", "loanOfficerId" : 1, "officeId" : 2, "address" : { "address1" : "address1", "address2" : "address2", "address3" : "address3", "city" : "city", "state" : "state", "country" : "country", "zip" : "zip-zip", "phoneNumber" : "+99 999999999" }, "accountFees" : [], "meeting" : { "meetingStartDate" : [2012,07,23], "meetingPlace" : "meting place", "recurrenceType" : 1, "dayNumber" : 2, "weekDay" : "", "rankOfDay" : "", "recurAfter" : 2 } }

RETURNS

Map

* phone
* displayName
* externalId
* address
* status
* state
* accountNum
* globalCustNum
* loanOfficer
* postal code
* country
* city
* mfiDate

EXAMPLE RESPONSE

{ "phone":"+99 999999999", "address":"address1, address2, address3", "status":"success", "name":"NewRestCenter", "state":"state", "mfiDate":"2012-07-23", "accountNum":"000100000000071", "globalCustNum":"0002-000000041", "externalId":"1234", "postal code":"zip-zip", "country":"country", "city":"city" }

Offices

getOfficeById

SINCE

Mifos 2.2.3

TYPE

GET

URL

BASE_URL/office/id-{officeId}.json

PATH ARGUMENTS

officeId

REQUEST PARAMS

 

RETURNS

org.mifos.dto.domain.OfficeDto

EXAMPLE RESPONSE

{ "address":null, "name":"Mifos HO", "id":1, "displayName":"Head Office(Mifos HO )", "text":"Mifos HO", "levelId":1, "searchId":"1.1.", "officeId":1, "customFields":[ ], "globalNum":"0001", "lookupNameKey":"", "parentId":null, "officeShortName":"MIF1", "versionNum":1, "statusId":1, "parentOfficeName":null, "officeStatusName":"Active", "officeLevelName":"Head Office" }

Customers

applyCharge (customer)

SINCE

Mifos 2.2.3

TYPE

POST

URL

BASE_URL/customer/num-{globalCustNum}/charge.json

PATH ARGUMENTS

globalCustNum

REQUEST PARAMS

amount, feeId

RETURNS

Map:
* status
* clientName
* clientNumber
* chargeDate
* chargeTime
* chargeAmount
* chargeMadeBy
* totalDueBeforeCharge
* totalDueAfterCharge

EXAMPLE REQUEST

BASE_URL/customer/num-0002-000000001/charge.json?amount=5&feeId=-1

EXAMPLE RESPONSE

{ "chargeAmount": "5.0", "chargeTime": "13:06:54.436", "status": "success", "clientName": "Client-REST", "chargeMadeBy": "mifos", "totalDueBeforeCharge": "0.0", "chargeDate": "2011-09-13", "clientNumber": "0002-000000001", "totalDueAfterCharge": "5.0" }

getApplicableFees (customer)

SINCE

Mifos 2.2.3

TYPE

GET

URL

BASE_URL/customer/num-{globalAccountNum}/fees.json

PATH ARGUMENTS

globalAccountNum

RETURNS

Map:
* feeName, Map:
- feeId,
- paymentType,
- periodicity,
- amountOrRate,
- isRateType,
- formula

EXAMPLE REQUEST

BASE_URL/customer/num-0002-000000003/fees.json

EXAMPLE RESPONSE

{ "Misc Fees":{ "feeId":"-1", "paymentType":null, "periodicity":null, "amountOrRate":null, "isRateType":"0", "formula":null }, "Misc Penalty":{ "feeId":"-2", "paymentType":null, "periodicity":null, "amountOrRate":null, "isRateType":"0", "formula":null } }

Personnel

getCurrentPersonnel

SINCE

Mifos 2.2.1

TYPE

GET

URL

BASE_URL/personnel/id-current.json

PATH ARGUMENTS

 

REQUEST PARAMS

 

RETURNS

org.mifos.dto.screen.PersonnelInformationDto

EXAMPLE RESPONSE

{ "id":1, "displayName":"mifos", "status":{ "name":"Active", "id":1 }, "userName":"mifos", "title":1, "locked":false, "levelId":2, "personnelId":1, "officeId":1, "personnelRoles":[{ "name":"Admin", "id":1 } ], "officeName":"Mifos HO ", "personnelDetails":{ "address":{ "state":"Bangalore", "country":"Bangalore", "displayAddress":"Bangalore", "city":"Bangalore", "zip":"", "phoneNumber":"", "line1":"Bangalore", "line2":"", "line3":"" }, "governmentIdNumber":"123", "dob":313801200000, "maritalStatus":null, "gender":50, "dateOfJoiningMFI":1315864800000, "dateOfJoiningBranch":1315864800000, "dateOfLeavingBranch":1315864800000, "firstName":"Mifos", "middleName":null, "secondLastName":null, "lastName":"MFI" }, "emailId":null, "customFields":[], "personnelNotes":[], "globalPersonnelNum":"1", "age":"31", "recentPersonnelNotes":[], "preferredLocaleLanguageName":"English - (English) : United Kingdom [en_GB]", "preferredLanguageId":1 }

getCustomersUnderPersonnel

SINCE

Mifos 2.2.2

TYPE

GET

URL

BASE_URL/personnel/id-current/clients.json

PATH ARGUMENTS

 

REQUEST PARAMS

 

RETURNS

Map:
* centers
* groups
* clients

EXAMPLE RESPONSE

{ "groups":[ ], "centers":[ { "id":1, "displayName":"Tramkna", "searchId":"1.1", "globalCustNum":"0002-000000001", "groups":[ { "id":2, "displayName":"Tanung", "searchId":"1.1.1", "globalCustNum":"0002-000000002", "clients":[ { "id":3, "displayName":"San So", "searchId":"1.1.1.1", "globalCustNum":"0002-000000003" } ] } ] } ], "clients":[ ] }

getCustomersUnderPersonnelForSpecifiedDay

SINCE

Mifos 2.2.2

TYPE

GET

URL

BASE_URL/personnel/id-current/meetings-{day}.json

PATH ARGUMENTS

day in format dd-MM-yyyy

REQUEST PARAMS

 

RETURNS

Map:
* centers
* groups
* clients

EXAMPLE RESPONSE

{ "centers":[ { "id":27, "displayName":"branch1 center", "searchId":"1.27", "globalCustNum":"0003-000000027", "groups":[ { "id":32, "displayName":"GroupInBranch1", "searchId":"1.27.1", "globalCustNum":"0003-000000032", "clients":[ { "id":33, "displayName":"ClientInBranch1 ClientInBranch1", "searchId":"1.27.1.1", "globalCustNum":"0003-000000033" } ] } ] } ], "clients":[ ], "groups":[ ] }

Admin

getSystemInformation

SINCE

Mifos 2.2.2

TYPE

GET

URL

BASE_URL/admin/system/id-information.json

PATH ARGUMENTS

 

REQUEST PARAMS

 

RETURNS

org.mifos.application.admin.servicefacade.SystemInformationDto

EXAMPLE RESPONSE

{ "osArch":"i386", "osName":"Linux", "osVersion":"3.0.0-12-generic", "applicationServerInfo":"jetty/7.3.1.v20110307", "applicationVersion":"Developer Schema", "buildDate":"Mon Oct 31 17:11:00 CET 2011", "buildNumber":"DEVELOPMENT", "commitIdentifier":"943cc94ee69a9e48400042a7e00eca17881afe53", "databaseName":"mifos", "databasePort":"3306", "databaseServer":"localhost", "databaseUser":"mifos@localhost", "databaseVendor":"MySQL", "databaseVersion":"5.1.58-1ubuntu1", "dateTimeString":"01/11/11 11:29", "dateTimeStringIso8601":"2011-11-01T11:29:51.988+01:00", "infoSource":"admin.unableToDetermineConfigurationSource", "infoURL":"mysql://localhost:3306/mifos?useUnicode=true&characterEncoding=UTF-8", "javaVendor":"Sun Microsystems Inc.", "javaVersion":"1.6.0_26", "osUser":"hudson", "releaseName":"${current.release.name}", "customReportsDirectory":"/home/hudson/.mifos/uploads/report", "databaseDriverName":"MySQL-AB JDBC Driver", "databaseDriverVersion":"mysql-connector-java-5.1.13 ( Revision: ${bzr.revision-id} )" }

getAcceptedPaymentTypes

SINCE

Mifos 2.2.3

TYPE

GET

URL

BASE_URL/admin/payment-types/state-accepted.json

PATH ARGUMENTS

 

REQUEST PARAMS

 

RETURNS

org.mifos.dto.domain.AcceptedPaymentTypeDto

EXAMPLE RESPONSE