Skip to content

Instantly share code, notes, and snippets.

@Grandolf49
Last active August 25, 2020 12:32
Show Gist options
  • Save Grandolf49/62b084ebeec49ae56f729466d0c5ceb0 to your computer and use it in GitHub Desktop.
Save Grandolf49/62b084ebeec49ae56f729466d0c5ceb0 to your computer and use it in GitHub Desktop.
Apache Fineract spec file for swagger codegen
{
"swagger": "2.0",
"info": {
"description": "Apache Fineract is a secure, multi-tenanted microfinance platform. <br /> The goal of the Apache Fineract API is to empower developers to build apps on top of the Apache Fineract Platform. The reference app [ https://demo.openmf.org ] (username: mifos, password: password) works on the same demo tenant as the interactive links in this documentation. <br/>The API is organized around REST [ https://en.wikipedia.org/wiki/Representational_state_transfer ] <br/> Find out more about Apache Fineract on [ https://demo.openmf.org/api-docs/apiLive.htm#top ] <br/> You can Try The API From Your Browser itself at [ https://demo.openmf.org/api-docs/apiLive.htm#interact ] <br/> The Generic Options are available at [ https://demo.openmf.org/api-docs/apiLive.htm#genopts ] <br/> Find out more about Updating Dates and Numbers at [ https://demo.openmf.org/api-docs/apiLive.htm#dates_and_numbers ] <br/> For the Authentication and the Basic of HTTP and HTTPS refer [ https://demo.openmf.org/api-docs/apiLive.htm#authentication_overview ] <br/> Check about ERROR codes at [ https://demo.openmf.org/api-docs/apiLive.htm#errors ] <br/> <br/> Please refer to the old documentation for any documentation queries [ https://demo.openmf.org/api-docs/apiLive.htm ] <br/> ______________________________________________________________________________________________________________________________ ",
"version": "1.0.0",
"title": "Apache Fineract API Documentation",
"termsOfService": "https://demo.openmf.org/api-docs/apiLive.htm",
"contact": {
"name": "https://gitter.im/openMF/mifos"
}
},
"host": "demo.mifos.io",
"basePath": "/fineract-provider/api/v1",
"tags": [
{
"name": "Periodic Accrual Accounting",
"description": "Periodic Accrual is to accrue the loan income till the specific date or till batch job scheduled time.\n"
},
{
"name": "Accounting Closure",
"description": "An accounting closure indicates that no more journal entries may be logged (or reversed) in the system, either manually or via the portfolio with an entry date prior to the defined closure date\n\nField Descriptions\nclosingDate\nThe date for which the accounting closure is defined\nofficeId\nThe identifer of the branch for which accounting has been closed\ncomments\nDescription associated with an Accounting closure"
},
{
"name": "Mapping Financial Activities to Accounts",
"description": "Organization Level Financial Activities like Asset and Liability Transfer can be mapped to GL Account. Integrated accounting takes these accounts into consideration when an Account transfer is made between a savings to loan/savings account and vice-versa\n\nField Descriptions\nfinancialActivityId\nThe identifier of the Financial Activity\nglAccountId\nThe identifier of a GL Account ( Ledger Account) which shall be used as the default account for the selected Financial Activity"
},
{
"name": "General Ledger Account",
"description": "Ledger accounts represent an Individual account within an Organizations Chart Of Accounts(COA) and are assigned a name and unique number by which they can be identified. \nAll transactions relating to a company's assets, liabilities, owners' equity, revenue and expenses are recorded against these accounts"
},
{
"name": "Journal Entries",
"description": "A journal entry refers to the logging of transactions against general ledger accounts. A journal entry may consist of several line items, each of which is either a \"debit\" or a \"credit\". The total amount of the debits must equal the total amount of the credits or the journal entry is said to be \"unbalanced\" \n\nA journal entry directly changes the account balances on the general ledger"
},
{
"name": "Provisioning Entries",
"description": "This defines the Provisioning Entries for all active loan products\n\nField Descriptions\ndate\nDate on which day provisioning entries should be created\ncreatejournalentries\nBoolean variable whether to add journal entries for generated provisioning entries\n"
},
{
"name": "Accounting Rules",
"description": "It is typical scenario in MFI's that non accountants pass journal entries on a regular basis. For Ex: A branch office might deposit their entire cash at hand to their Bank account at the end of a working day. The branch office users might not understand enough of accounting to figure out which account needs to get credited and which account needs to be debited to represent this transaction.\n\nEnter accounting rules, an abstraction on top of manual Journal entires for enabling simpler data entry. An accounting rule can define any of the following abstractions\n\nA Simple journal entry where both the credit and debit account have been preselected\nA Simple journal entry where either credit or debit accounts have been limited to a pre-selected list of accounts (Ex: Debit account should be one of \"Bank of America\" of \"JP Morgan\" and credit account should be \"Cash\")\nA Compound journal entry where multiple debits and / or multiple credits may be made amongst a set of preselected list of accounts (Ex: Credit account should be either \"Bank Of America\" or \"Cash\" and debit account can be \"Employee Salary\" and/or \"Miscellenous Expenses\")\nAn accounting rule can also be optionally associated with a branch, so that only a particular Branch's users have access to the rule"
},
{
"name": "AdhocQuery Api",
"description": ""
},
{
"name": "Batch API",
"description": "The Apache Fineract Batch API enables a consumer to access significant amounts of data in a single call or to make changes to several objects at once. Batching allows a consumer to pass instructions for several operations in a single HTTP request. A consumer can also specify dependencies between related operations. Once all operations have been completed, a consolidated response will be passed back and the HTTP connection will be closed.\n\nThe Batch API takes in an array of logical HTTP requests represented as JSON arrays - each request has a requestId (the id of a request used to specify the sequence and as a dependency between requests), a method (corresponding to HTTP method GET/PUT/POST/DELETE etc.), a relativeUrl (the portion of the URL after https://example.org/api/v2/), optional headers array (corresponding to HTTP headers), optional reference parameter if a request is dependent on another request and an optional body (for POST and PUT requests). The Batch API returns an array of logical HTTP responses represented as JSON arrays - each response has a requestId, a status code, an optional headers array and an optional body (which is a JSON encoded string).\n\nBatch API uses Json Path to handle dependent parameters. For example, if request '2' is referencing request '1' and in the \"body\" or in \"relativeUrl\" of request '2', there is a dependent parameter (which will look like \"$.parameter_name\"), then Batch API will internally substitute this dependent parameter from the response body of request '1'.\n\nBatch API is able to handle deeply nested dependent requests as well nested parameters. As shown in the example, requests are dependent on each other as, 1<--2<--6, i.e a nested dependency, where request '6' is not directly dependent on request '1' but still it is one of the nested child of request '1'. In the same way Batch API could handle a deeply nested dependent value, such as {..[..{..,$.parameter_name,..}..]}."
},
{
"name": "Audits",
"description": "Every non-read Mifos API request is audited. A fully processed request can not be changed or deleted. See maker checker api for situations where an audit is not fully processed.\n\nPermissions: To search and look at audit entries a user needs to be attached to a role that has one of the ALL_FUNCTIONS, ALL_FUNCTIONS_READ or READ_AUDIT permissions.\n\nData Scope: A user can only see audits that are within their data scope. However, 'head office' users can see all audits including those that aren't office/branch related e.g. Loan Product changes.\")"
},
{
"name": "Maker Checker (or 4-eye) functionality",
"description": ""
},
{
"name": "Account number format",
"description": "Account number preferences are used to describe custom formats for account numbers associated with Customer, Loan and Savings accounts."
},
{
"name": "Cache",
"description": "The following settings are possible for cache:\n\nNo Caching: caching turned off\nSingle node: caching on for single instance deployments of platorm (works for multiple tenants but only one tomcat)\nBy default caching is set to No Caching. Switching between caches results in the cache been clear e.g. from Single node to No cache and back again would clear down the single node cache."
},
{
"name": "Code Values",
"description": "Code and code values: Codes represent a specific category of data, their code values are a specific instance of that category.\n\nCodes are mostly system defined which means the code itself comes out of the box and cannot be modified however its code values can be. e.g. 'Customer Identifier', it defaults to a code value of 'Passport' but could be 'Drivers License, National Id' etc"
},
{
"name": "Codes",
"description": "Code and code values: Codes represent a specific category of data, their code values are a specific instance of that category.\n\nCodes are mostly system defined which means the code itself comes out of the box and cannot be modified however its code values can be. e.g. 'Customer Identifier', it defaults to a code value of 'Passport' but could be 'Drivers License, National Id' etc"
},
{
"name": "External Services",
"description": "External Services Configuration related to set of supported configurations for third party services like Amazon S3 and SMTP:\n\nS3 (Amazon S3):\ns3_access_key -\ns3_bucket_name -\ns3_secret_key -\n\n\nSMTP (Email Service):\nusername -\npassword -\nhost -\nport -\nuseTLS -"
},
{
"name": "Global Configuration",
"description": "Global configuration related to set of supported enable/disable configurations:\n\nmaker-checker - defaults to false - if true turns on maker-checker functionality\nreschedule-future-repayments - defaults to false - if true reschedules repayemnts which falls on a non-working day to configured repayment rescheduling rule\nallow-transactions-on-non_workingday - defaults to false - if true allows transactions on non-working days\nreschedule-repayments-on-holidays - defaults to false - if true reschedules repayemnts which falls on a non-working day to defined reschedule date\nallow-transactions-on-holiday - defaults to false - if true allows transactions on holidays\nsavings-interest-posting-current-period-end - Set it at the database level before any savings interest is posted. When set as false(default), interest will be posted on the first date of next period. If set as true, interest will be posted on last date of current period. There is no difference in the interest amount posted.\nfinancial-year-beginning-month - Set it at the database level before any savings interest is posted. Allowed values 1 - 12 (January - December). Interest posting periods are evaluated based on this configuration.\nmeetings-mandatory-for-jlg-loans - if set to true, enforces all JLG loans to follow a meeting schedule belonging to either the parent group or Center."
},
{
"name": "Data Tables",
"description": "The datatables API allows you to plug-in your own tables (MySql) that have a relationship to a Apache Fineract core table. For example, you might want to add some extra client fields and record information about each of the clients' family members. Via the API you can create, read, update and delete entries for each 'plugged-in' table. The API checks for permission and for 'data scoping' (only data within the users' office hierarchy can be managed by the user).\n\nThe Apache Fineract Reference App uses a JQuery plug-in called stretchydatatables (which in turn uses this datatables resource) to provide a pretty flexible CRUD (Create, Read, Update, Delete) User Interface."
},
{
"name": "Entity Data Table",
"description": "This defines Entity-Datatable Check."
},
{
"name": "Reports",
"description": "Non-core reports can be added, updated and deleted."
},
{
"name": "Run Reports",
"description": ""
},
{
"name": "Documents",
"description": "Multiple Documents (a combination of a name, description and a file) may be attached to different Entities like Clients, Groups, Staff, Loans, Savings and Client Identifiers in the system\n\nNote: The currently allowed Entities are\n\nClients: URL Pattern as clients\nStaff: URL Pattern as staff\nLoans: URL Pattern as loans\nSavings: URL Pattern as savings\nClient Identifiers: URL Pattern as client_identifiers\nGroups: URL Pattern as groups"
},
{
"name": "Hooks",
"description": "Hooks are a mechanism to trigger custom code on the occurence of events. "
},
{
"name": "Scheduler",
"description": ""
},
{
"name": "MIFOSX-BATCH JOBS",
"description": "Batch jobs (also known as cron jobs on Unix-based systems) are a series of back-end jobs executed on a computer at a particular time defined in job's cron expression.\n\n At any point, you can view the list of batch jobs scheduled to run along with other details specific to each job. Manually you can execute the jobs at any point of time.\n\n The scheduler status can be either \"Active\" or \"Standby\". If the scheduler status is Active, it indicates that all batch jobs are running/ will run as per the specified schedule.If the scheduler status is Standby, it will ensure all scheduled batch runs are suspended."
},
{
"name": "Report Mailing Jobs",
"description": "This resource allows you to create a scheduled job that runs a report and sents it by email to specified email addresses.\n\nThe scheduled job can be configured to run once or on a regular basis (once a day, twice a week, etc)"
},
{
"name": "List Report Mailing Job History",
"description": ""
},
{
"name": "Authentication HTTP Basic",
"description": "An API capability that allows client applications to verify authentication details using HTTP Basic Authentication."
},
{
"name": "Fetch authenticated user details",
"description": ""
},
{
"name": "Mix Report",
"description": ""
},
{
"name": "Mix Taxonomy",
"description": ""
},
{
"name": "Mix Mapping",
"description": ""
},
{
"name": "Notification",
"description": ""
},
{
"name": "Holidays",
"description": "Some MFI's span large regions where different branch offices might observe different holidays. They need the ability to define holidays for specific branch offices and be able to set the repayment rule to follow during those holidays.\n\nThe reschedule of repayments to repaymentsRescheduledTo date during defined holidays is turned on/off by enabling/disabling reschedule-repayments-on-holidays in Global configurations.\n\nAllow Repayment transactions on a defined holidays is turned on/off by enabling/disabling allow-transactions-on-holiday in Global configurations."
},
{
"name": "Currency",
"description": "Application related configuration around viewing/updating the currencies permitted for use within the MFI."
},
{
"name": "Offices",
"description": "Offices are used to model an MFIs structure. A hierarchical representation of offices is supported. There will always be at least one office (which represents the MFI or an MFIs head office). All subsequent offices added must have a parent office."
},
{
"name": "Provisioning Category",
"description": ""
},
{
"name": "Provisioning Criteria",
"description": "This defines the Provisioning Criteria"
},
{
"name": "Staff",
"description": "Allows you to model staff members. At present the key role of significance is whether this staff member is a loan officer or not."
},
{
"name": "Cashiers",
"description": ""
},
{
"name": "Teller Cash Management",
"description": "Teller cash management which will allow an organization to manage their cash transactions at branches or head office more effectively."
},
{
"name": "Cashier Journals",
"description": ""
},
{
"name": "Working days",
"description": "The days of the week that are workdays.\n\nRescheduling of repayments when it falls on a non-working is turned on /off by enable/disable reschedule-future-repayments parameter in Global configurations\n\nAllow transactions on non-working days is configurable by enabling/disbaling the allow-transactions-on-non_workingday parameter in Global configurations."
},
{
"name": "Account Transfers",
"description": "Ability to be able to transfer monetary funds from one account to another.\n\nNote: At present only savings account to savings account transfers are supported."
},
{
"name": "Standing Instructions",
"description": "Standing instructions (or standing orders) refer to instructions a bank account holder (\"the payer\") gives to his or her bank to pay a set amount at regular intervals to another's (\"the payee's\") account.\n\nNote: At present only savings account to savings account and savings account to Loan account transfers are permitted."
},
{
"name": "Standing Instructions History",
"description": "The list capability of history can support pagination and sorting."
},
{
"name": "Share Account",
"description": "Share accounts are instances of a praticular share product created for an individual. An application process around the creation of accounts is also supported."
},
{
"name": "Entity Field Configuration",
"description": "Entity Field configuration API is a generic and extensible \nwherein various entities and subentities can be related.\nAlso it gives the user an ability to enable/disable fields,\nadd regular expression for validation"
},
{
"name": "Charges",
"description": "Its typical for MFIs to add extra costs for their financial products. These are typically Fees or Penalties.\n\nA Charge on fineract platform is what we use to model both Fees and Penalties.\n\nAt present we support defining charges for use with Client accounts and both loan and saving products."
},
{
"name": "Clients Address",
"description": "Address module is an optional module and can be configured into the system by using GlobalConfiguration setting: enable-address. In order to activate Address module, we need to enable the configuration, enable-address by setting its value to true."
},
{
"name": "Client Charges",
"description": "It is typical for MFI's to directly associate charges with an implicit Client account. These can be either fees or penalties\n\nClient Charges are client specific instances of Charges. Refer Charges for documentation of the various properties of a charge, Only additional properties ( specific to the context of a Charge being associated with a Client account) are described here"
},
{
"name": "Client Identifier",
"description": "Client Identifiers refer to documents that are used to uniquely identify a customer\nEx: Drivers License, Passport, Ration card etc "
},
{
"name": "Client Transaction",
"description": "Client Transactions refer to transactions made directly againt a Client's internal account. Currently, these transactions are only created as a result of charge payments/waivers. You are allowed to undo a transaction, however you cannot explicitly create one. "
},
{
"name": "Client",
"description": "Clients are people and businesses that have applied (or may apply) to an MFI for loans.\n\nClients can be created in Pending or straight into Active state."
},
{
"name": "Loan Collateral",
"description": "In lending agreements, collateral is a borrower's pledge of specific property to a lender, to secure repayment of a loan. The collateral serves as protection for a lender against a borrower's default - that is, any borrower failing to pay the principal and interest under the terms of a loan obligation. If a borrower does default on a loan (due to insolvency or other event), that borrower forfeits (gives up) the property pledged as collateral - and the lender then becomes the owner of the collateral"
},
{
"name": "Floating Rates",
"description": "It lets you create, list, retrieve and upload the floating rates"
},
{
"name": "Centers",
"description": "Centers along with Groups are used to provided a distinctive banking distribution channel used in microfinance. Its common in areas such as Southern Asia to use Centers and Group as administrative units in grameen style lending. Typically groups will contain one to five people and centers themselves will be made of anywhere between 2-10 groups."
},
{
"name": "Groups",
"description": "Groups are used to provide a distinctive banking distribution channel used in microfinances throughout the world. The Group is an administrative unit. It can contain as few as 5 people or as many as 40 depending on how its used.\n\nDifferent styles of group lending - Joint-Liability Group, Grameen Model (Center-Group), Self-Help Groups, Village/Communal Banks)"
},
{
"name": "Interest Rate Slab (A.K.A interest bands)",
"description": "The slabs a.k.a interest bands are associated with Interest Rate Chart. These bands allow to define different interest rates for different deposit term periods."
},
{
"name": "Interest Rate Chart",
"description": "This defines an interest rate scheme that can be associated to a term deposit product. This will have a slab (band or range) of deposit periods and the associated interest rates applicable along with incentives for each band."
},
{
"name": "Loan Charges",
"description": "Its typical for MFIs to add extra costs for their loan products. They can be either Fees or Penalties.\n\nLoan Charges are instances of Charges and represent either fees and penalties for loan products. Refer Charges for documentation of the various properties of a charge, Only additional properties ( specific to the context of a Charge being associated with a Loan) are described here"
},
{
"name": "Loan Rescheduling",
"description": "Loan Term Variations provides the ability to change due dates, amounts and number of instalments before loan approval."
},
{
"name": "Loan Transactions",
"description": "Capabilities include loan repayment's, interest waivers and the ability to 'adjust' an existing transaction. An 'adjustment' of a transaction is really a 'reversal' of existing transaction followed by creation of a new transaction with the provided details."
},
{
"name": "Loans",
"description": "The API concept of loans models the loan application process and the loan contract/monitoring process.\n\nField Descriptions\naccountNo\nThe account no. associated with this loan. Is auto generated if not provided at loan application creation time.\nexternalId\nA place to put an external reference for this loan e.g. The ID another system uses.\nIf provided, it must be unique.\nfundId\nOptional: For associating a loan with a given fund.\nloanOfficerId\nOptional: For associating a loan with a given staff member who is a loan officer.\nloanPurposeId\nOptional: For marking a loan with a given loan purpose option. Loan purposes are configurable and can be setup by system admin through code/code values screens.\nprincipal\nThe loan amount to be disbursed to through loan.\nloanTermFrequency\nThe length of loan term\nUsed like: loanTermFrequency loanTermFrequencyType\ne.g. 12 Months\nloanTermFrequencyType\nThe loan term period to use. Used like: loanTermFrequency loanTermFrequencyType\ne.g. 12 Months Example Values: 0=Days, 1=Weeks, 2=Months, 3=Years\nnumberOfRepayments\nNumber of installments to repay.\nUsed like: numberOfRepayments Every repaymentEvery repaymentFrequencyType\ne.g. 10 (repayments) Every 12 Weeks\nrepaymentEvery\nUsed like: numberOfRepayments Every repaymentEvery repaymentFrequencyType\ne.g. 10 (repayments) Every 12 Weeks\nrepaymentFrequencyType\nUsed like: numberOfRepayments Every repaymentEvery repaymentFrequencyType\ne.g. 10 (repayments) Every 12 Weeks \nExample Values: 0=Days, 1=Weeks, 2=Months\ninterestRatePerPeriod\nInterest Rate.\nUsed like: interestRatePerPeriod % interestRateFrequencyType - interestType\ne.g. 12.0000% Per year - Declining Balance\ninterestRateFrequencyType\nUsed like: interestRatePerPeriod% interestRateFrequencyType - interestType\ne.g. 12.0000% Per year - Declining Balance \nExample Values: 2=Per month, 3=Per year\ngraceOnPrincipalPayment\nOptional: Integer - represents the number of repayment periods that grace should apply to the principal component of a repayment period.\ngraceOnInterestPayment\nOptional: Integer - represents the number of repayment periods that grace should apply to the interest component of a repayment period. Interest is still calculated but offset to later repayment periods.\ngraceOnInterestCharged\nOptional: Integer - represents the number of repayment periods that should be interest-free.\ngraceOnArrearsAgeing\nOptional: Integer - Used in Arrears calculation to only take into account loans that are more than graceOnArrearsAgeing days overdue.\ninterestChargedFromDate\nOptional: Date - The date from with interest is to start being charged.\nexpectedDisbursementDate\nThe proposed disbursement date of the loan so a proposed repayment schedule can be provided.\nsubmittedOnDate\nThe date the loan application was submitted by applicant.\nlinkAccountId\nThe Savings Account id for linking with loan account for payments.\namortizationType\nExample Values: 0=Equal principle payments, 1=Equal installments\ninterestType\nUsed like: interestRatePerPeriod% interestRateFrequencyType - interestType\ne.g. 12.0000% Per year - Declining Balance \nExample Values: 0=Declining Balance, 1=Flat\ninterestCalculationPeriodType\nExample Values: 0=Daily, 1=Same as repayment period\nallowPartialPeriodInterestCalcualtion\nThis value will be supported along with interestCalculationPeriodType as Same as repayment period to calculate interest for partial periods. Example: Interest charged from is 5th of April , Principal is 10000 and interest is 1% per month then the interest will be (10000 * 1%)* (25/30) , it calculates for the month first then calculates exact periods between start date and end date(can be a decimal)\ninArrearsTolerance\nThe amount that can be 'waived' at end of all loan payments because it is too small to worry about.\nThis is also the tolerance amount assessed when determining if a loan is in arrears.\ntransactionProcessingStrategyId\nAn enumeration that indicates the type of transaction processing strategy to be used. This relates to functionality that is also known as Payment Application Logic.\nA number of out of the box approaches exist, some are custom to specific MFIs, some are more general and indicate the order in which payments are processed.\n\nRefer to the Payment Application Logic / Transaction Processing Strategy section in the appendix for more detailed overview of each available payment application logic provided out of the box.\n\nList of current approaches:\n1 = Mifos style (Similar to Old Mifos)\n2 = Heavensfamily (Custom MFI approach)\n3 = Creocore (Custom MFI approach)\n4 = RBI (India)\n5 = Principal Interest Penalties Fees Order\n6 = Interest Principal Penalties Fees Order\n7 = Early Payment Strategy\nloanType\nTo represent different type of loans.\nAt present there are three type of loans are supported. \nAvailable loan types:\nindividual: Loan given to individual member\ngroup: Loan given to group as a whole\njlg: Joint liability group loan given to members in a group on individual basis. JLG loan can be given to one or more members in a group.\nrecalculationRestFrequencyDate\nSpecifies rest frequency start date for interest recalculation. This date must be before or equal to disbursement date\nrecalculationCompoundingFrequencyDate\nSpecifies compounding frequency start date for interest recalculation. This date must be equal to disbursement date"
},
{
"name": "Loan Products",
"description": "A Loan product is a template that is used when creating a loan. Much of the template definition can be overridden during loan creation."
},
{
"name": "Notes",
"description": "Notes API allows to enter notes for supported resources."
},
{
"name": "Payment Type",
"description": "This defines the payment type"
},
{
"name": "Fixed Deposit Account",
"description": "Fixed Deposit accounts are instances of a praticular fixed deposit product created. An application process around the creation of accounts is also supported."
},
{
"name": "Fixed Deposit Product",
"description": "This is one of the advanced term deposit product offered by MFI's. The Fixed Deposit Products (aka FD) product offerings are modeled using this API.\n\nThe FD products are deposit accounts which are held for a fixed term – like 1 year, 2 years etc.\n\nWhen creating fixed deposit accounts, the details from the fixed deposit product are used to auto fill details of the fixed deposit account application process."
},
{
"name": "Recurring Deposit Account Transactions",
"description": "Transactions possible on a recurring deposit account."
},
{
"name": "Recurring Deposit Account",
"description": "Recurring Deposit accounts are instances of a praticular recurring deposit product created. An application process around the creation of accounts is also supported."
},
{
"name": "Recurring Deposit Product",
"description": "Recurring Deposits are a special kind of Term Deposits offered by MFI's. The Recurring Deposit Products (aka RD) product offerings are modeled using this API.\n\nRecurring Deposits help people with regular incomes to deposit a fixed amount every month (specified recurring frequency) into their Recurring Deposit account.\n\nWhen creating recurring deposit accounts, the details from the recurring deposit product are used to auto fill details of the recurring deposit account application process."
},
{
"name": "Savings Charges",
"description": "Its typical for MFIs to add maintenance and operating charges. They can be either Fees or Penalties.\n\nSavings Charges are instances of Charges and represent either fees and penalties for savings products. Refer Charges for documentation of the various properties of a charge, Only additional properties ( specific to the context of a Charge being associated with a Savings account) are described here"
},
{
"name": "Savings Account",
"description": "Savings accounts are instances of a particular savings product created for an individual or group. An application process around the creation of accounts is also supported."
},
{
"name": "Savings Product",
"description": "An MFIs savings product offerings are modeled using this API.\nWhen creating savings accounts, the details from the savings product are used to auto fill details of the savings account application process."
},
{
"name": "Search API",
"description": "Search API allows to search scoped resources clients, loans and groups on specified fields."
},
{
"name": "Self Account transfer",
"description": ""
},
{
"name": "Self Third Party Transfer",
"description": ""
},
{
"name": "Self Client",
"description": ""
},
{
"name": "Self Loans",
"description": ""
},
{
"name": "Pocket",
"description": ""
},
{
"name": "Self Loan Products",
"description": "A Loan product is a template that is used when creating a loan. Much of the template definition can be overridden during loan creation.\n\nField Descriptions\nname\nName associated with loan product on system.\nshortName\nShort name associated with a loan product. \nAn abbreviated version of the name, used in reports or menus where space is limited, such as Collection Sheets.\ndescription\nFor providing helpful description of product offering.\nfundId\nFor associating a loan product with a given fund by default.\nincludeInBorrowerCycle\nIt is a flag, Used to denote whether the loans should include in loan cycle counter or not.\nuseBorrowerCycle\nIt is a flag, Used to denote whether the loans should depend on \nborrower loan cycle counter or not.\ncurrencyCode\nA three letter ISO code of currency.\ndigitsAfterDecimal\nOverride the currency default value for digitsAfterDecimal.\ninMultiplesOf\nOverride the default value for rounding currency to multiples of value provided.\ninstallmentAmountInMultiplesOf\nOverride the default value for rounding instalment amount to multiples of value provided.\nprincipal\nThe loan amount to be disbursed to through loan.\nnumberOfRepayments\nNumber of installments to repay.\nUsed like: numberOfRepayments Every repaymentEvery repaymentFrequencyType\ne.g. 10 (repayments) Every 12 Weeks\nrepaymentEvery\nUsed like: numberOfRepayments Every repaymentEvery repaymentFrequencyType\ne.g. 10 (repayments) Every 12 Weeks\nrepaymentFrequencyType\nUsed like: numberOfRepayments Every repaymentEvery repaymentFrequencyType\ne.g. 10 (repayments) Every 12 Weeks \nExample Values: 0=Days, 1=Weeks, 2=Months\ninterestRatePerPeriod\nInterest Rate.\nUsed like: interestRatePerPeriod % interestRateFrequencyType - interestType\ne.g. 12.0000% Per year - Declining Balance\ninterestRateFrequencyType\nUsed like: interestRatePerPeriod% interestRateFrequencyType - interestType\ne.g. 12.0000% Per year - Declining Balance \nExample Values: 2=Per month, 3=Per year\namortizationType\nExample Values: 0=Equal principle payments, 1=Equal installments\ninterestType\nUsed like: interestRatePerPeriod% interestRateFrequencyType - interestType\ne.g. 12.0000% Per year - Declining Balance \nExample Values: 0=Declining Balance, 1=Flat\ninterestCalculationPeriodType\nExample Values: 0=Daily, 1=Same as repayment period\nallowPartialPeriodInterestCalcualtion\nThis value will be supported along with interestCalculationPeriodType as Same as repayment period to calculate interest for partial periods. Example: Interest charged from is 5th of April , Principal is 10000 and interest is 1% per month then the interest will be (10000 * 1%)* (25/30) , it calculates for the month first then calculates exact periods between start date and end date(can be a decimal)\ninArrearsTolerance\nThe amount that can be 'waived' at end of all loan payments because it is too small to worry about.\nThis is also the tolerance amount assessed when determining if a loan is in arrears.\nprincipalVariationsForBorrowerCycle,interestRateVariationsForBorrowerCycle,\nnumberOfRepaymentVariationsForBorrowerCycle\nVariations for loan, based on borrower cycle number\nminimumDaysBetweenDisbursalAndFirstRepayment\nThe minimum number of days allowed between a Loan disbursal and its first repayment.\nprincipalThresholdForLastInstalment\nField represents percentage of current instalment principal amount for comparing against principal outstanding to add another repayment instalment. If the outstanding principal amount is less then calculated amount, remaining outstanding amount will be added to current instalment. Default value for multi disburse loan is 50% and non-multi disburse loan is 0%\ncanDefineInstallmentAmount\nif provided as true, then fixed instalment amount can be provided from loan account.\ntransactionProcessingStrategyId\nAn enumeration that indicates the type of transaction processing strategy to be used. This relates to functionality that is also known as Payment Application Logic.\nA number of out of the box approaches exist, some are custom to specific MFIs, some are more general and indicate the order in which payments are processed.\n\nRefer to the Payment Application Logic / Transaction Processing Strategy section in the appendix for more detailed overview of each available payment application logic provided out of the box.\n\nList of current approaches:\n1 = Mifos style (Similar to Old Mifos)\n2 = Heavensfamily (Custom MFI approach)\n3 = Creocore (Custom MFI approach)\n4 = RBI (India)\n5 = Principal Interest Penalties Fees Order\n6 = Interest Principal Penalties Fees Order\n7 = Early Payment Strategy\ngraceOnPrincipalPayment\nOptional: Integer - represents the number of repayment periods that grace should apply to the principal component of a repayment period.\ngraceOnInterestPayment\nOptional: Integer - represents the number of repayment periods that grace should apply to the interest component of a repayment period. Interest is still calculated but offset to later repayment periods.\ngraceOnInterestCharged\nOptional: Integer - represents the number of repayment periods that should be interest-free.\ngraceOnArrearsAgeing\nOptional: Integer - Used in Arrears calculation to only take into account loans that are more than graceOnArrearsAgeing days overdue.\noverdueDaysForNPA\nOptional: Integer - represents the maximum number of days a Loan may be overdue before being classified as a NPA (non performing asset)\naccountMovesOutOfNPAOnlyOnArrearsCompletion\nOptional: Boolean - if provided as true, Loan Account moves out of NPA state only when all arrears are cleared\naccountingRule\nSpecifies if accounting is enabled for the particular product and the type of the accounting rule to be used Example Values:1=NONE, 2=CASH_BASED, 3=ACCRUAL_PERIODIC, 4=ACCRUAL_UPFRONT\nisInterestRecalculationEnabled\nIt is a flag, Used to denote whether interest recalculation is enabled or disabled for the particular product\ndaysInYearType\nSpecifies the number of days in a year. \nExample Values:1=ACTUAL(Actual number of days in year), 360=360 DAYS, 364=364 DAYS(52 WEEKS), 365=365 DAYS\ndaysInMonthType\nSpecifies the number of days in a month. \nExample Values:1=ACTUAL(Actual number of days in month), 30=30 DAYS\ninterestRecalculationCompoundingMethod\nSpecifies which amount portion should be added to principal for interest recalculation. \nExample Values:0=NONE(Only on principal), 1=INTEREST(Principal+Interest), 2=FEE(Principal+Fee), 3=FEE And INTEREST (Principal+Fee+Interest)\nrescheduleStrategyMethod\nSpecifies what action should perform on loan repayment schedule for advance payments. \nExample Values:1=Reschedule next repayments, 2=Reduce number of installments, 3=Reduce EMI amount\nrecalculationCompoundingFrequencyType\nSpecifies effective date from which the compounding of interest or fee amounts will be considered in recalculation on late payment.\nExample Values:1=Same as repayment period, 2=Daily, 3=Weekly, 4=Monthly\nrecalculationCompoundingFrequencyInterval\nSpecifies compounding frequency interval for interest recalculation.\nrecalculationCompoundingFrequencyDate\nSpecifies compounding frequency start date for interest recalculation.\nrecalculationRestFrequencyType\nSpecifies effective date from which the late or advanced payment amounts will be considered in recalculation.\nExample Values:1=Same as repayment period, 2=Daily, 3=Weekly, 4=Monthly\nrecalculationRestFrequencyInterval\nSpecifies rest frequency interval for interest recalculation.\nrecalculationRestFrequencyDate\nSpecifies rest frequency start date for interest recalculation.\npreClosureInterestCalculationStrategy\nSpecifies applicable days for interest calculation on pre closure of a loan.\nExample Values:1=Calculate till pre closure date, 2=Calculate till rest frequency date\nisArrearsBasedOnOriginalSchedule\nIf Specified as true, arrears will be identified based on original schedule.\nallowAttributeOverrides\nSpecifies if select attributes may be overridden for individual loan accounts."
},
{
"name": "Self Service Registration",
"description": ""
},
{
"name": "Self Run Report",
"description": "This resource allows you to run and receive output from pre-defined Apache Fineract reports.\n\nThe default output is a JSON formatted \"Generic Resultset\". The Generic Resultset contains Column Heading as well as Data information. However, you can export to CSV format by simply adding \"&exportCSV=true\" to the end of your URL.\n\nIf Pentaho reports have been pre-defined, they can also be run through this resource. Pentaho reports can return HTML, PDF or CSV formats.\n\nThe Apache Fineract reference application uses a JQuery plugin called stretchyreporting which, itself, uses this reports resource to provide a pretty flexible reporting User Interface (UI).\n\nARGUMENTS\nR_'parameter names' ... optional, No defaults The number and names of the parameters depend on the specific report and how it has been configured. R_officeId is an example parameter name.Note: the prefix R_ stands for ReportinggenericResultSetoptional, defaults to true If 'true' an optimised JSON format is returned suitable for tabular display of data. If 'false' a simple JSON format is returned. parameterType optional, The only valid value is 'true'. If any other value is provided the argument will be ignored Determines whether the request looks in the list of reports or the list of parameters for its data. Doesn't apply to Pentaho reports.exportCSV optional, The only valid value is 'true'. If any other value is provided the argument will be ignored Output will be delivered as a CSV file instead of JSON. Doesn't apply to Pentaho reports.output-type optional, Defaults to HTML. Valid Values are HTML, XLS, XSLX, CSV and PDF for html, Excel, Excel 2007+, CSV and PDF formats respectively.Only applies to Pentaho reports.locale optional Any valid locale Ex: en_US, en_IN, fr_FR etcOnly applies to Pentaho reports."
},
{
"name": "Self Savings Account",
"description": ""
},
{
"name": "Self Authentication",
"description": "Authenticates the credentials provided and returns the set roles and permissions allowed"
},
{
"name": "Self User",
"description": ""
},
{
"name": "Self User Details",
"description": ""
},
{
"name": "Self Share Accounts",
"description": ""
},
{
"name": "Self Score Card",
"description": ""
},
{
"name": "Self Spm",
"description": ""
},
{
"name": "Self Dividend",
"description": ""
},
{
"name": "Tax Components",
"description": "This defines the Tax Components"
},
{
"name": "Tax Group",
"description": "This defines the Tax Group"
},
{
"name": "SPM API - LookUp Table",
"description": "The Apache Fineract SPM API provides the ability to create custom surveys to collect social performance measurentment data or any additional questionnaire a financial institute want to collect."
},
{
"name": "Score Card",
"description": ""
},
{
"name": "Spm-Surveys",
"description": ""
},
{
"name": "User Generated Documents",
"description": "User Generated Documents(alternatively, Templates) are used for end-user features such as custom user defined document generation (AKA UGD). They are based on {{ moustache }} templates. Think of them as a sort of built-in \"mail merge\" functionality.\n\nUser Generated Documents (and other types of templates) can aggregate data from several Apache Fineract back-end API calls via mappers. Mappers can even access non-Apache Fineract REST services from other servers. UGDs can render such data in tables, show images, etc. TBD: Please have a look at some of the Example UGDs included in Apache Fineract (or the Wiki page, for now.).\n\nUGDs can be assigned to an entity like client or loan and be of a type like Document or SMS. The entity and type of a UGD is only there for the convenience of user agents (UIs), in order to know where to show UGDs for the user (i.e. which tab). The Template Engine back-end runner does not actually need this metadata."
},
{
"name": "Password preferences",
"description": "This API enables management of password policy for user administration.\n\nThere is no Apache Fineract functionality for creating a validation policy. The validation policies come pre-installed.\n\nValidation policies may be updated"
},
{
"name": "Permissions",
"description": "An API capability to support management of application permissions for user administration.\n\nThere is no Apache Fineract functionality for creating or deleting permissions. Permissions come pre-installed.\n\nPermissions are not updated, except in the case of enabling or disabling non-read transactions for Maker Checker functionality"
},
{
"name": "Roles",
"description": "An API capability to support management of application roles for user administration."
},
{
"name": "Users",
"description": "An API capability to support administration of application users."
},
{
"name": "SMS Campaigns"
},
{
"name": "CreditBureau Configuration"
},
{
"name": "Entity Datatable Check"
},
{
"name": "DomainNameapiv1{entity}{entityId}images"
},
{
"name": "DomainNameapiv1entitytoentitymapping"
},
{
"name": "SMS"
},
{
"name": "Likelihood"
},
{
"name": "Poverty Line"
},
{
"name": "Survey"
},
{
"name": "interoperation"
},
{
"name": "Mix Mapping "
},
{
"name": "officetransactions"
},
{
"name": "Collection Sheet"
},
{
"name": "Funds"
},
{
"name": "Products"
},
{
"name": "Self Account Transfer"
},
{
"name": "Self Run Report "
}
],
"schemes": [
"https"
],
"paths": {
"/runaccruals": {
"post": {
"tags": [
"Periodic Accrual Accounting"
],
"summary": "Executes Periodic Accrual Accounting",
"description": "Mandatory Fields\n\ntillDate\n",
"operationId": "executePeriodicAccrualAccounting",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "Request Body\n\nField Descriptions: \ntillDate: \nwhich specifies periodic accruals should happen till the given Date",
"required": true,
"schema": {
"$ref": "#/definitions/runaccrualsRequest"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/glclosures": {
"get": {
"tags": [
"Accounting Closure"
],
"summary": "List Accounting closures",
"description": "Example Requests:\n\nglclosures",
"operationId": "retrieveAllClosures",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetGLClosureResponse"
}
}
}
}
},
"post": {
"tags": [
"Accounting Closure"
],
"summary": "Create an Accounting Closure",
"description": "Mandatory Fields\nofficeId,closingDate",
"operationId": "createGLClosure",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "Request Body",
"required": true,
"schema": {
"$ref": "#/definitions/PostGLCLosuresRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostGlClosuresResponse"
}
}
}
}
},
"/glclosures/{glClosureId}": {
"get": {
"tags": [
"Accounting Closure"
],
"summary": "Retrieve an Accounting Closure",
"description": "Example Requests:\n\nglclosures/1\n\n\n/glclosures/1?fields=officeName,closingDate",
"operationId": "retreiveClosure",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "glClosureId",
"in": "path",
"description": "glClosureId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetGLClosureResponse"
}
}
}
},
"put": {
"tags": [
"Accounting Closure"
],
"summary": "Update an Accounting closure",
"description": "Once an accounting closure is created, only the comments associated with it may be edited",
"operationId": "updateGLClosure",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "glClosureId",
"in": "path",
"description": "glClosureId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "Request body",
"required": true,
"schema": {
"$ref": "#/definitions/PutGlClosuresRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutGlClosuresResponse"
}
}
}
},
"delete": {
"tags": [
"Accounting Closure"
],
"summary": "Delete an accounting closure",
"description": "Note: Only the latest accounting closure associated with a branch may be deleted.",
"operationId": "deleteGLClosure",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "glClosureId",
"in": "path",
"description": "glclosureId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteGlClosuresResponse"
}
}
}
}
},
"/financialactivityaccounts/{mappingId}": {
"get": {
"tags": [
"Mapping Financial Activities to Accounts"
],
"summary": "Retrieve a Financial Activity to Account Mapping\n",
"description": "Example Requests:\n\nfinancialactivityaccounts/1",
"operationId": "retreive",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "mappingId",
"in": "path",
"description": "mappingId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetFinancialActivityAccountsResponse"
}
}
}
},
"put": {
"tags": [
"Mapping Financial Activities to Accounts"
],
"summary": "Update a Financial Activity to Account Mapping",
"description": "the API updates the Ledger account linked to a Financial Activity \n",
"operationId": "updateGLAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "mappingId",
"in": "path",
"description": "mappingId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "Request body",
"required": false,
"schema": {
"$ref": "#/definitions/PostFinancialActivityAccountsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutFinancialActivityAccountsResponse"
}
}
}
},
"delete": {
"tags": [
"Mapping Financial Activities to Accounts"
],
"summary": "Delete a Financial Activity to Account Mapping",
"description": "",
"operationId": "deleteGLAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "mappingId",
"in": "path",
"description": "mappingId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteFinancialActivityAccountsResponse"
}
}
}
}
},
"/financialactivityaccounts": {
"get": {
"tags": [
"Mapping Financial Activities to Accounts"
],
"summary": "List Financial Activities to Accounts Mappings",
"description": "Example Requests:\n\nfinancialactivityaccounts",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetFinancialActivityAccountsResponse"
}
}
}
}
},
"post": {
"tags": [
"Mapping Financial Activities to Accounts"
],
"summary": "Create a new Financial Activity to Accounts Mapping",
"description": "Mandatory Fields\nfinancialActivityId, glAccountId",
"operationId": "createGLAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "Request body",
"required": false,
"schema": {
"$ref": "#/definitions/PostFinancialActivityAccountsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostFinancialActivityAccountsResponse"
}
}
}
}
},
"/financialactivityaccounts/template": {
"get": {
"tags": [
"Mapping Financial Activities to Accounts"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/glaccounts/{glAccountId}": {
"get": {
"tags": [
"General Ledger Account"
],
"summary": "Retrieve a General Ledger Account",
"description": "Example Requests:\n\nglaccounts/1\n\n\nglaccounts/1?template=true\n\n\nglaccounts/1?fields=name,glCode\n\n\nglaccounts/1?fetchRunningBalance=true",
"operationId": "retreiveAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "glAccountId",
"in": "path",
"description": "glAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "fetchRunningBalance",
"in": "query",
"description": "fetchRunningBalance",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetGLAccountsResponse"
}
}
}
},
"put": {
"tags": [
"General Ledger Account"
],
"summary": "Update an Accounting closure",
"description": "Once an accounting closure is created, only the comments associated with it may be edited\n\n",
"operationId": "updateGLAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "glAccountId",
"in": "path",
"description": "glAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PutGLAccountsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutGLAccountsResponse"
}
}
}
},
"delete": {
"tags": [
"General Ledger Account"
],
"summary": "Delete an accounting closure",
"description": "Note: Only the latest accounting closure associated with a branch may be deleted.",
"operationId": "deleteGLAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "glAccountId",
"in": "path",
"description": "glAccountId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteGLAccountsRequest"
}
}
}
}
},
"/glaccounts": {
"get": {
"tags": [
"General Ledger Account"
],
"summary": "List General Ledger Accounts",
"description": "ARGUMENTS\ntype Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional\nExample Requests:\n\nglaccounts\n\n\nglaccounts?type=1&manualEntriesAllowed=true&usage=1&disabled=false\n\nglaccounts?fetchRunningBalance=true",
"operationId": "retrieveAllAccounts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "query",
"description": "type",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "searchParam",
"in": "query",
"description": "searchParam",
"required": false,
"type": "string"
},
{
"name": "usage",
"in": "query",
"description": "usage",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "manualEntriesAllowed",
"in": "query",
"description": "manualEntriesAllowed",
"required": false,
"type": "boolean"
},
{
"name": "disabled",
"in": "query",
"description": "disabled",
"required": false,
"type": "boolean"
},
{
"name": "fetchRunningBalance",
"in": "query",
"description": "fetchRunningBalance",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetGLAccountsResponse"
}
}
}
}
},
"post": {
"tags": [
"General Ledger Account"
],
"summary": "Create a General Ledger Account",
"description": "Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account\nMandatory Fields: \nname, glCode, type, usage and manualEntriesAllowed",
"operationId": "createGLAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PostGLAccountsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostGLAccountsResponse"
}
}
}
}
},
"/glaccounts/template": {
"get": {
"tags": [
"General Ledger Account"
],
"summary": "Retrieve GL Accounts Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nglaccounts/template\nglaccounts/template?type=1\n\ntype is optional and integer value from 1 to 5.\n\n1.Assets \n2.Liabilities \n3.Equity \n4.Income \n5.Expenses",
"operationId": "retrieveNewAccountDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "query",
"description": "type",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetGLAccountsTemplateResponse"
}
}
}
}
},
"/glaccounts/downloadtemplate": {
"get": {
"tags": [
"General Ledger Account"
],
"operationId": "getGlAccountsTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/glaccounts/uploadtemplate": {
"post": {
"tags": [
"General Ledger Account"
],
"operationId": "postGlAccountsTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/journalentries/{journalEntryId}": {
"get": {
"tags": [
"Journal Entries"
],
"summary": "Retrieve a single Entry",
"description": "Example Requests:\n\njournalentries/1\n\n\n\njournalentries/1?fields=officeName,glAccountId,entryType,amount\n\njournalentries/1?runningBalance=true\n\njournalentries/1?transactionDetails=true",
"operationId": "retreiveJournalEntryById",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "journalEntryId",
"in": "path",
"description": "journalEntryId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "runningBalance",
"in": "query",
"description": "runningBalance",
"required": false,
"type": "boolean"
},
{
"name": "transactionDetails",
"in": "query",
"description": "transactionDetails",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/JournalEntryData"
}
}
}
}
},
"/journalentries": {
"get": {
"tags": [
"Journal Entries"
],
"summary": "List Journal Entries",
"description": "The list capability of journal entries can support pagination and sorting.\n\nExample Requests:\n\njournalentries\n\njournalentries?transactionId=PB37X8Y21EQUY4S\n\njournalentries?officeId=1&manualEntriesOnly=true&fromDate=1 July 2013&toDate=15 July 2013&dateFormat=dd MMMM yyyy&locale=en\n\njournalentries?fields=officeName,glAccountName,transactionDate\n\njournalentries?offset=10&limit=50\n\njournalentries?orderBy=transactionId&sortOrder=DESC\n\njournalentries?runningBalance=true\n\njournalentries?transactionDetails=true\n\njournalentries?loanId=12\n\njournalentries?savingsId=24",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "glAccountId",
"in": "query",
"description": "glAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "manualEntriesOnly",
"in": "query",
"description": "manualEntriesOnly",
"required": false,
"type": "boolean"
},
{
"name": "fromDate",
"in": "query",
"description": "fromDate",
"required": false,
"type": "string"
},
{
"name": "toDate",
"in": "query",
"description": "toDate",
"required": false,
"type": "string"
},
{
"name": "transactionId",
"in": "query",
"description": "transactionId",
"required": false,
"type": "string"
},
{
"name": "entityType",
"in": "query",
"description": "entityType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "locale",
"in": "query",
"description": "locale",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "query",
"description": "dateFormat",
"required": false,
"type": "string"
},
{
"name": "loanId",
"in": "query",
"description": "loanId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "savingsId",
"in": "query",
"description": "savingsId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "runningBalance",
"in": "query",
"description": "runningBalance",
"required": false,
"type": "boolean"
},
{
"name": "transactionDetails",
"in": "query",
"description": "transactionDetails",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/JournalEntryData"
}
}
}
}
},
"post": {
"tags": [
"Journal Entries"
],
"summary": "Create \"Balanced\" Journal Entries",
"description": "Note: A Balanced (simple) Journal entry would have atleast one \"Debit\" and one \"Credit\" entry whose amounts are equal \nCompound Journal entries may have \"n\" debits and \"m\" credits where both \"m\" and \"n\" are greater than 0 and the net sum or all debits and credits are equal \n\n\nMandatory Fields\nofficeId, transactionDate\n\n\ncredits- glAccountId, amount, comments\n\n \ndebits- glAccountId, amount, comments\n\n \nOptional Fields\npaymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber",
"operationId": "createGLJournalEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/JournalEntryCommand"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostJournalEntriesResponse"
}
}
}
}
},
"/journalentries/{transactionId}": {
"post": {
"tags": [
"Journal Entries"
],
"summary": "Update Running balances for Journal Entries",
"description": "This API calculates the running balances for office. If office ID not provided this API calculates running balances for all offices. \nMandatory Fields\nofficeId",
"operationId": "createReversalJournalEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "string"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PostJournalEntriesTransactionIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostJournalEntriesTransactionIdResponse"
}
}
}
}
},
"/journalentries/provisioning": {
"get": {
"tags": [
"Journal Entries"
],
"operationId": "retrieveJournalEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "offset",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "entryId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/journalentries/openingbalance": {
"get": {
"tags": [
"Journal Entries"
],
"operationId": "retrieveOpeningBalance",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "currencyCode",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/journalentries/downloadtemplate": {
"get": {
"tags": [
"Journal Entries"
],
"operationId": "getJournalEntriesTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/journalentries/uploadtemplate": {
"post": {
"tags": [
"Journal Entries"
],
"operationId": "postJournalEntriesTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/provisioningentries": {
"get": {
"tags": [
"Provisioning Entries"
],
"summary": "List all Provisioning Entries",
"description": "",
"operationId": "retrieveAllProvisioningEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ProvisioningEntryData"
}
}
}
}
},
"post": {
"tags": [
"Provisioning Entries"
],
"summary": "Create new Provisioning Entries",
"description": "Creates a new Provisioning Entries\n\nMandatory Fields\ndate\ndateFormat\nlocale\nOptional Fields\ncreatejournalentries",
"operationId": "createProvisioningEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PostProvisioningEntriesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostProvisioningEntriesResponse"
}
}
}
}
},
"/provisioningentries/{entryId}": {
"get": {
"tags": [
"Provisioning Entries"
],
"summary": "Retrieves a Provisioning Entry",
"description": "Returns the details of a generated Provisioning Entry.",
"operationId": "retrieveProvisioningEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entryId",
"in": "path",
"description": "entryId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/ProvisioningEntryData"
}
}
}
},
"post": {
"tags": [
"Provisioning Entries"
],
"summary": "Recreates Provisioning Entry",
"description": "Recreates Provisioning Entry | createjournalentry.",
"operationId": "modifyProvisioningEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entryId",
"in": "path",
"description": "entryId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command=createjournalentry\ncommand=recreateprovisioningentry",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PutProvisioningEntriesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutProvisioningEntriesResponse"
}
}
}
}
},
"/provisioningentries/entries": {
"get": {
"tags": [
"Provisioning Entries"
],
"operationId": "retrieveProviioningEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entryId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "categoryId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/LoanProductProvisioningEntryData"
}
}
}
}
},
"/accountingrules": {
"get": {
"tags": [
"Accounting Rules"
],
"summary": "Retrieve Accounting Rules",
"description": "Returns the list of defined accounting rules.\n\nExample Requests:\n\naccountingrules",
"operationId": "retrieveAllAccountingRules",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetAccountRulesResponse"
}
}
}
}
},
"post": {
"tags": [
"Accounting Rules"
],
"summary": "Create/Define a Accounting rule",
"description": "Define a new Accounting rule.\n\nMandatory Fields\nname, officeId,\naccountToDebit OR debitTags,\naccountToCredit OR creditTags.\n\nOptional Fields\ndescription",
"operationId": "createAccountingRule",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PostAccountingRulesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostAccountingRulesResponse"
}
}
}
}
},
"/accountingrules/{accountingRuleId}": {
"get": {
"tags": [
"Accounting Rules"
],
"summary": "Retrieve a Accounting rule",
"description": "Returns the details of a defined Accounting rule.\n\nExample Requests:\n\naccountingrules/1",
"operationId": "retreiveAccountingRule",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountingRuleId",
"in": "path",
"description": "accountingRuleId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/AccountingRuleData"
}
}
}
},
"put": {
"tags": [
"Accounting Rules"
],
"summary": "Update a Accounting Rule",
"description": "Updates the details of a Accounting rule.",
"operationId": "updateAccountingRule",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountingRuleId",
"in": "path",
"description": "accountingRuleId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PutAccountingRulesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutAccountingRulesResponse"
}
}
}
},
"delete": {
"tags": [
"Accounting Rules"
],
"summary": "Delete a Accounting Rule",
"description": "Deletes a Accounting rule.",
"operationId": "deleteAccountingRule",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountingRuleId",
"in": "path",
"description": "accountingRuleId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteAccountingRulesResponse"
}
}
}
}
},
"/accountingrules/template": {
"get": {
"tags": [
"Accounting Rules"
],
"summary": "Retrieve Accounting Rule Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\naccountingrules/template",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetAccountRulesTemplateResponse"
}
}
}
}
},
"/adhocquery/{adHocId}": {
"get": {
"tags": [
"AdhocQuery Api"
],
"operationId": "retrieveAdHocQuery",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "adHocId",
"in": "path",
"description": "adHocId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"AdhocQuery Api"
],
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "adHocId",
"in": "path",
"description": "adHocId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"delete": {
"tags": [
"AdhocQuery Api"
],
"operationId": "deleteAdHocQuery",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "adHocId",
"in": "path",
"description": "adHocId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/adhocquery": {
"get": {
"tags": [
"AdhocQuery Api"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"post": {
"tags": [
"AdhocQuery Api"
],
"operationId": "createAdHocQuery",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/adhocquery/template": {
"get": {
"tags": [
"AdhocQuery Api"
],
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/batches": {
"post": {
"tags": [
"Batch API"
],
"summary": "Batch requests in a single transaction",
"description": "The Apache Fineract Batch API is also capable of executing all the requests in a single transaction, by setting a Query Parameter, \"enclosingTransaction=true\". So, if one or more of the requests in a batch returns an erroneous response all of the Data base transactions made by other successful requests will be rolled back.\n\nIf there has been a rollback in a transaction then a single response will be provided, with a '400' status code and a body consisting of the error details of the first failed request.",
"operationId": "handleBatchRequests",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "enclosingTransaction",
"in": "query",
"description": "enclosingTransaction",
"required": false,
"type": "boolean",
"default": false
},
{
"in": "body",
"name": "body",
"description": "request body",
"required": true,
"schema": {
"$ref": "#/definitions/PostBatchesRequest"
}
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
"$ref": "#/definitions/BatchResponse"
}
}
}
}
},
"/audits": {
"get": {
"tags": [
"Audits"
],
"summary": "List Audits",
"description": "Get a 200 list of audits that match the criteria supplied and sorted by audit id in descending order, and are within the requestors' data scope. Also it supports pagination and sorting\n\nExample Requests:\n\naudits\n\naudits?fields=madeOnDate,maker,processingResult\n\naudits?makerDateTimeFrom=2013-03-25 08:00:00&makerDateTimeTo=2013-04-04 18:00:00\n\naudits?officeId=1\n\naudits?officeId=1&includeJson=true",
"operationId": "retrieveAuditEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "actionName",
"in": "query",
"description": "actionName",
"required": false,
"type": "string"
},
{
"name": "entityName",
"in": "query",
"description": "entityName",
"required": false,
"type": "string"
},
{
"name": "resourceId",
"in": "query",
"description": "resourceId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "makerId",
"in": "query",
"description": "makerId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "makerDateTimeFrom",
"in": "query",
"description": "makerDateTimeFrom",
"required": false,
"type": "string"
},
{
"name": "makerDateTimeTo",
"in": "query",
"description": "makerDateTimeTo",
"required": false,
"type": "string"
},
{
"name": "checkerId",
"in": "query",
"description": "checkerId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "checkerDateTimeFrom",
"in": "query",
"description": "checkerDateTimeFrom",
"required": false,
"type": "string"
},
{
"name": "checkerDateTimeTo",
"in": "query",
"description": "checkerDateTimeTo",
"required": false,
"type": "string"
},
{
"name": "processingResult",
"in": "query",
"description": "processingResult",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "groupId",
"in": "query",
"description": "groupId",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "loanid",
"in": "query",
"description": "loanid",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "savingsAccountId",
"in": "query",
"description": "savingsAccountId",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "paged",
"in": "query",
"description": "paged",
"required": false,
"type": "boolean"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetMakerCheckerResponse"
}
}
}
}
}
},
"/audits/{auditId}": {
"get": {
"tags": [
"Audits"
],
"summary": "Retrieve an Audit Entry",
"description": "Example Requests:\n\naudits/20\naudits/20?fields=madeOnDate,maker,processingResult",
"operationId": "retrieveAuditEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "auditId",
"in": "path",
"description": "auditId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetMakerCheckerResponse"
}
}
}
}
},
"/audits/searchtemplate": {
"get": {
"tags": [
"Audits"
],
"summary": "Audit Search Template",
"description": "This is a convenience resource. It can be useful when building an Audit Search UI. \"appUsers\" are data scoped to the office/branch the requestor is associated with.\n\nExample Requests:\n\naudits/searchtemplate\naudits/searchtemplate?fields=actionNames",
"operationId": "retrieveAuditSearchTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetMakerCheckersSearchTemplateResponse"
}
}
}
}
},
"/makercheckers/searchtemplate": {
"get": {
"tags": [
"Maker Checker (or 4-eye) functionality"
],
"summary": "Maker Checker Search Template",
"description": "This is a convenience resource. It can be useful when building a Checker Inbox UI. \"appUsers\" are data scoped to the office/branch the requestor is associated with. \"actionNames\" and \"entityNames\" returned are those that the requestor has Checker approval permissions for.\n\nExample Requests:\n\nmakercheckers/searchtemplate\nmakercheckers/searchtemplate?fields=entityNames",
"operationId": "retrieveAuditSearchTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetMakerCheckersSearchTemplateResponse"
}
}
}
}
},
"/makercheckers/{auditId}": {
"post": {
"tags": [
"Maker Checker (or 4-eye) functionality"
],
"summary": "Approve Maker Checker Entry | Reject Maker Checker Entry",
"description": "",
"operationId": "approveMakerCheckerEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "auditId",
"in": "path",
"description": "auditId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostMakerCheckersResponse"
}
}
}
},
"delete": {
"tags": [
"Maker Checker (or 4-eye) functionality"
],
"summary": "Delete Maker Checker Entry",
"description": "",
"operationId": "deleteMakerCheckerEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "auditId",
"in": "path",
"description": "auditId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostMakerCheckersResponse"
}
}
}
}
},
"/makercheckers": {
"get": {
"tags": [
"Maker Checker (or 4-eye) functionality"
],
"summary": "List Maker Checker Entries",
"description": "Get a list of entries that can be checked by the requestor that match the criteria supplied.\n\nExample Requests:\n\nmakercheckers\n\nmakercheckers?fields=madeOnDate,maker,processingResult\n\nmakercheckers?makerDateTimeFrom=2013-03-25 08:00:00&makerDateTimeTo=2013-04-04 18:00:00\n\nmakercheckers?officeId=1\n\nmakercheckers?officeId=1&includeJson=true",
"operationId": "retrieveCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "actionName",
"in": "query",
"description": "actionName",
"required": false,
"type": "string"
},
{
"name": "entityName",
"in": "query",
"description": "entityName",
"required": false,
"type": "string"
},
{
"name": "resourceId",
"in": "query",
"description": "resourceId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "makerId",
"in": "query",
"description": "makerId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "makerDateTimeFrom",
"in": "query",
"description": "makerDateTimeFrom",
"required": false,
"type": "string"
},
{
"name": "makerDateTimeTo",
"in": "query",
"description": "makerDateTimeTo",
"required": false,
"type": "string"
},
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "groupId",
"in": "query",
"description": "groupId",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "loanid",
"in": "query",
"description": "loanid",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "savingsAccountId",
"in": "query",
"description": "savingsAccountId",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetMakerCheckerResponse"
}
}
}
}
}
},
"/accountnumberformats": {
"get": {
"tags": [
"Account number format"
],
"summary": "List Account number formats",
"description": "Example Requests:\n\naccountnumberformats\n\n\naccountnumberformats?fields=accountType,prefixType",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetAccountNumberFormatsIdResponse"
}
}
}
}
},
"post": {
"tags": [
"Account number format"
],
"summary": "Create an Account number format",
"description": "Note: You may associate a single Account number format for a given account type\nMandatory Fields for Account number formats\naccountType",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PostAccountNumberFormatsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostAccountNumberFormatsResponse"
}
}
}
}
},
"/accountnumberformats/{accountNumberFormatId}": {
"get": {
"tags": [
"Account number format"
],
"summary": "Retrieve an Account number format",
"description": "Example Requests:\n\naccountnumberformats/1\n\n\naccountnumberformats/1?template=true\n\n\naccountnumberformats/1?fields=accountType,prefixType",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountNumberFormatId",
"in": "path",
"description": "accountNumberFormatId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetAccountNumberFormatsIdResponse"
}
}
}
},
"put": {
"tags": [
"Account number format"
],
"summary": "Update an Account number format",
"description": "",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountNumberFormatId",
"in": "path",
"description": "accountNumberFormatId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutAccountNumberFormatsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutAccountNumberFormatsResponse"
}
}
}
},
"delete": {
"tags": [
"Account number format"
],
"summary": "Delete an Account number format",
"description": "Note: Account numbers created while this format was active would remain unchanged.",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountNumberFormatId",
"in": "path",
"description": "accountNumberFormatId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteAccountNumberFormatsResponse"
}
}
}
}
},
"/accountnumberformats/template": {
"get": {
"tags": [
"Account number format"
],
"summary": "Retrieve Account number format Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Request:\n\naccountnumberformats/template",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetAccountNumberFormatsResponseTemplate"
}
}
}
}
},
"/caches": {
"get": {
"tags": [
"Cache"
],
"summary": "Retrieve Cache Types",
"description": "Returns the list of caches.\n\nExample Requests:\n\ncaches",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetCachesResponse"
}
}
}
}
},
"put": {
"tags": [
"Cache"
],
"summary": "Switch Cache",
"description": "Switches the cache to chosen one.",
"operationId": "switchCache",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutCachesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutCachesResponse"
}
}
}
}
},
"/smscampaigns": {
"get": {
"tags": [
"SMS Campaigns"
],
"summary": "List SMS Campaigns",
"description": "Example Requests:\n\nsmscampaigns",
"operationId": "retrieveAllEmails",
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
},
"post": {
"tags": [
"SMS Campaigns"
],
"summary": "Create a SMS Campaign",
"description": "Mandatory Fields\ncampaignName, campaignType, triggerType, providerId, runReportId, message\n\nMandatory Fields for Cash based on selected report id\nparamValue in json format",
"operationId": "createCampaign",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CommandWrapper"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
}
},
"/smscampaigns/{campaignId}": {
"post": {
"tags": [
"SMS Campaigns"
],
"summary": "SMS Campaign",
"description": "Activates | Deactivates | Reactivates",
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "campaignId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
},
"put": {
"tags": [
"SMS Campaigns"
],
"summary": "Update a Campaign",
"description": "",
"operationId": "updateCampaign",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "campaignId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CommandWrapper"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
},
"delete": {
"tags": [
"SMS Campaigns"
],
"summary": "Delete a SMS Campaign",
"description": "Note: Only closed SMS Campaigns can be deleted",
"operationId": "delete",
"parameters": [
{
"name": "campaignId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
}
},
"/smscampaigns/{resourceId}": {
"get": {
"tags": [
"SMS Campaigns"
],
"summary": "Retrieve a SMS Campaign",
"description": "Example Requests:\n\nsmscampaigns/1\n",
"operationId": "retrieveCampaign",
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
}
},
"/smscampaigns/template": {
"get": {
"tags": [
"SMS Campaigns"
],
"summary": "Retrieve a SMS Campaign",
"description": "Example Requests:\n\nsmscampaigns/1\n\n\nsmscampaigns/1?template=true\n\n\nsmscampaigns/template",
"operationId": "template",
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
}
}
}
}
},
"/smscampaigns/preview": {
"post": {
"tags": [
"SMS Campaigns"
],
"operationId": "preview",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/codes/{codeId}/codevalues": {
"get": {
"tags": [
"Code Values"
],
"summary": "List Code Values",
"description": "Returns the list of Code Values for a given Code\n\nExample Requests:\n\ncodes/1/codevalues",
"operationId": "retrieveAllCodeValues",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeId",
"in": "path",
"description": "codeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "A List of Given response",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetCodeValuesDataResponse"
}
}
}
}
},
"post": {
"tags": [
"Code Values"
],
"summary": "Create a Code Value",
"description": "",
"operationId": "createCodeValue",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeId",
"in": "path",
"description": "codeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostCodeValuesDataRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostCodeValueDataResponse"
}
}
}
}
},
"/codes/{codeId}/codevalues/{codeValueId}": {
"get": {
"tags": [
"Code Values"
],
"summary": "Retrieve a Code Value",
"description": "Returns the details of a Code Value\n\nExample Requests:\n\ncodes/1/codevalues/1",
"operationId": "retrieveCodeValue",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeValueId",
"in": "path",
"description": "codeValueId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetCodeValuesDataResponse"
}
}
}
},
"put": {
"tags": [
"Code Values"
],
"summary": "Update a Code Value",
"description": "Updates the details of a code value.",
"operationId": "updateCodeValue",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeId",
"in": "path",
"description": "codeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "codeValueId",
"in": "path",
"description": "codeValueId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutCodeValuesDataRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutCodeValueDataResponse"
}
}
}
},
"delete": {
"tags": [
"Code Values"
],
"summary": "Delete a Code Value",
"description": "Deletes a code value",
"operationId": "deleteCodeValue",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeId",
"in": "path",
"description": "codeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "codeValueId",
"in": "path",
"description": "codeValueId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteCodeValueDataResponse"
}
}
}
}
},
"/codes": {
"get": {
"tags": [
"Codes"
],
"summary": "Retrieve Codes",
"description": "Returns the list of codes.\n\nExample Requests:\n\ncodes",
"operationId": "retrieveCodes",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetCodesResponse"
}
}
}
}
},
"post": {
"tags": [
"Codes"
],
"summary": "Create a Code",
"description": "Creates a code. Codes created through api are always 'user defined' and so system defined is marked as false.",
"operationId": "createCode",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostCodesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostCodesResponse"
}
}
}
}
},
"/codes/{codeId}": {
"get": {
"tags": [
"Codes"
],
"summary": "Retrieve a Code",
"description": "Returns the details of a Code.\n\nExample Requests:\n\ncodes/1",
"operationId": "retrieveCode",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeId",
"in": "path",
"description": "codeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetCodesResponse"
}
}
}
},
"put": {
"tags": [
"Codes"
],
"summary": "Update a Code",
"description": "Updates the details of a code if it is not system defined.",
"operationId": "updateCode",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeId",
"in": "path",
"description": "codeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutCodesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutCodesResponse"
}
}
}
},
"delete": {
"tags": [
"Codes"
],
"summary": "Delete a Code",
"description": "Deletes a code if it is not system defined.",
"operationId": "deleteCode",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "codeId",
"in": "path",
"description": "codeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteCodesResponse"
}
}
}
}
},
"/externalservice/{servicename}": {
"get": {
"tags": [
"External Services"
],
"summary": "Retrieve External Services Configuration",
"description": "Returns a external Service configurations based on the Service Name.\n\nService Names supported are S3 and SMTP.\n\nExample Requests:\n\nexternalservice/SMTP",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "servicename",
"in": "path",
"description": "servicename",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/ExternalServicesPropertiesData"
}
}
}
},
"put": {
"tags": [
"External Services"
],
"summary": "Update External Service",
"description": "Updates the external Service Configuration for a Service Name.\n\nExample: \n\nexternalservice/S3",
"operationId": "updateExternalServiceProperties",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "servicename",
"in": "path",
"description": "servicename",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutExternalServiceRequest"
}
}
],
"responses": {
"200": {
"description": ""
}
}
}
},
"/configurations/{configId}": {
"get": {
"tags": [
"Global Configuration"
],
"summary": "Retrieve Global Configuration",
"description": "Returns a global enable/disable configurations.\n\nExample Requests:\n\nconfigurations/1",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "configId",
"in": "path",
"description": "configId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetGlobalConfigurationsResponse"
}
}
}
},
"put": {
"tags": [
"Global Configuration"
],
"summary": "Update Global Configuration",
"description": "Updates an enable/disable global configuration item.",
"operationId": "updateConfiguration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "configId",
"in": "path",
"description": "configId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutGlobalConfigurationsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutGlobalConfigurationsResponse"
}
}
}
}
},
"/configurations": {
"get": {
"tags": [
"Global Configuration"
],
"summary": "Retrieve Global Configuration | Retrieve Global Configuration for surveys",
"description": "Returns the list global enable/disable configurations.\n\nExample Requests:\n\nconfigurations\n\n\nReturns the list global enable/disable survey configurations.\n\nExample Requests:\n\nconfigurations/survey",
"operationId": "retrieveConfiguration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "survey",
"in": "query",
"description": "survey",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "List of example \n response \nsurveys response \ngiven below",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetGlobalConfigurationsResponse"
}
}
}
}
}
},
"/CreditBureauConfiguration/organisationCreditBureau": {
"get": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "getOrganisationCreditBureau",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "updateCreditBureau",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/CreditBureauConfiguration/loanProduct": {
"get": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "fetchLoanProducts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/CreditBureauConfiguration/mappings": {
"get": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "getCreditBureauLoanProductMapping",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "updateCreditBureauLoanProductMapping",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/CreditBureauConfiguration/organisationCreditBureau/{organisationCreditBureauId}": {
"post": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "addOrganisationCreditBureau",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "organisationCreditBureauId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/CreditBureauConfiguration/mappings/{CreditBureauId}": {
"post": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "createCreditBureauLoanProductMapping",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "CreditBureauId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/CreditBureauConfiguration": {
"get": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "getCreditBureau",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/CreditBureauConfiguration/config/{organisationCreditBureauId}": {
"get": {
"tags": [
"CreditBureau Configuration"
],
"operationId": "getConfiguration",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "organisationCreditBureauId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/datatables": {
"get": {
"tags": [
"Data Tables"
],
"summary": "List Data Tables",
"description": "Lists registered data tables and the Apache Fineract Core application table they are registered to.\n\nARGUMENTS\n\napptable - optional\nThe Apache Fineract core application table.\n\nExample Requests:\n\ndatatables?apptable=m_client\n\n\ndatatables",
"operationId": "getDatatables",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "apptable",
"in": "query",
"description": "apptable",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetDataTablesResponse"
}
}
}
}
},
"post": {
"tags": [
"Data Tables"
],
"summary": "Create Data Table",
"description": "Create a new data table and registers it with the Apache Fineract Core application table.\n\nField Descriptions\n\nMandatory - datatableName : \n\nThe name of the Data Table.\n\nMandatory - apptableName\n\nApplication table name. Must be one of the following:\n\nm_client\n\nm_group\n\nm_loan\n\nm_office\n\nm_saving_account\n\nm_product_loan\n\nm_savings_product\n\nMandatory - columns \nAn array of columns in the new Data Table.\n\nOptional - multiRow\n\nAllows to create multiple entries in the Data Table. Optional, defaults to false. If this property is not provided Data Table will allow only one entry.\n\nField Descriptions - columns\n\nMandatory - name\n\nName of the created column. Can contain only alphanumeric characters, underscores and spaces, but cannot start with a number. Cannot start or end with an underscore or space.\n\nMandatory - type\n\nColumn type. Must be one of the following:\n\nBoolean\n\nDate\n\nDateTime\n\nDecimal\n\nDropdown\n\n\nNumber\n\nString\n\nText\n\nMandatory [type = Dropdown] - code\n\nUsed in Code Value fields. Column name becomes: code_cd_name. Mandatory if using type Dropdown, otherwise an error is returned.\n\nOptional - mandatory\n\nDetermines whether this column must have a value in every entry. Optional, defaults to false.\n\nMandatory [type = String] - length\n\nLength of the text field. Mandatory if type String is used, otherwise an error is returned.",
"operationId": "createDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostDataTablesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostDataTablesResponse"
}
}
}
}
},
"/datatables/register/{datatable}/{apptable}": {
"post": {
"tags": [
"Data Tables"
],
"summary": "Register Data Table",
"description": "Registers a data table with the Apache Fineract Core application table. This allows the data table to be maintained through the API. In case the datatable is a PPI (survey table), a parameter category should be pass along with the request. The API currently support one category (200)",
"operationId": "registerDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
},
{
"name": "apptable",
"in": "path",
"description": "apptable",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PostDataTablesRegisterDatatableAppTable"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutDataTablesResponse"
}
}
}
}
},
"/datatables/deregister/{datatable}": {
"post": {
"tags": [
"Data Tables"
],
"summary": "Deregister Data Table",
"description": "Deregisters a data table. It will no longer be available through the API.",
"operationId": "deregisterDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutDataTablesResponse"
}
}
}
}
},
"/datatables/{datatableName}": {
"put": {
"tags": [
"Data Tables"
],
"summary": "Update Data Table",
"description": "Modifies fields of a data table. If the apptableName parameter is passed, data table is deregistered and registered with the new application table.",
"operationId": "updateDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatableName",
"in": "path",
"description": "datatableName",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutDataTablesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutDataTablesResponse"
}
}
}
},
"delete": {
"tags": [
"Data Tables"
],
"summary": "Delete Data Table",
"description": "Deletes a data table and deregisters it from the Apache Fineract Core application table.",
"operationId": "deleteDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatableName",
"in": "path",
"description": "datatableName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteDataTablesResponse"
}
}
}
}
},
"/datatables/{datatable}/{apptableId}/{datatableId}": {
"get": {
"tags": [
"Data Tables"
],
"operationId": "getDatatableManyEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "apptableId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "datatableId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "order",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"Data Tables"
],
"summary": "Update Entry in Data Table (One to Many)",
"description": "Updates the row (if it exists) of the data table.",
"operationId": "updateDatatableEntryOneToMany",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
},
{
"name": "apptableId",
"in": "path",
"description": "apptableId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "datatableId",
"in": "path",
"description": "datatableId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutDataTablesAppTableIdDatatableIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutDataTablesAppTableIdDatatableIdResponse"
}
}
}
},
"delete": {
"tags": [
"Data Tables"
],
"summary": "Delete Entry in Datatable (One to Many)",
"description": "Deletes the entry (if it exists) for data tables that are one to many with the application table.\n\n",
"operationId": "deleteDatatableEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "body",
"x-example": "{}"
},
{
"name": "apptableId",
"in": "path",
"description": "apptableId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "datatableId",
"in": "path",
"description": "datatableId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteDataTablesDatatableAppTableIdDatatableIdResponse"
}
}
}
}
},
"/datatables/{datatable}/{apptableId}": {
"get": {
"tags": [
"Data Tables"
],
"summary": "Retrieve Entry(s) from Data Table",
"description": "Gets the entry (if it exists) for data tables that are one to one with the application table. \nGets the entries (if they exist) for data tables that are one to many with the application table.\n\nNote: The 'fields' parameter is not available for datatables.\n\nARGUMENTS\norderoptional Specifies the order in which data is returned.genericResultSetoptional, defaults to false If 'true' an optimised JSON format is returned suitable for tabular display of data. This format is used by the default data tables UI functionality.\nExample Requests:\n\ndatatables/extra_client_details/1\n\n\ndatatables/extra_family_details/1?order=`Date of Birth` desc\n\n\ndatatables/extra_client_details/1?genericResultSet=true",
"operationId": "getDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
},
{
"name": "apptableId",
"in": "path",
"description": "apptableId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "order",
"in": "query",
"description": "order",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetDataTablesAppTableIdResponse"
}
}
}
},
"post": {
"tags": [
"Data Tables"
],
"summary": "Create Entry in Data Table",
"description": "Adds a row to the data table.\n\nNote that the default datatable UI functionality converts any field name containing spaces to underscores when using the API. This means the field name \"Business Description\" is considered the same as \"Business_Description\". So you shouldn't have both \"versions\" in any data table.",
"operationId": "createDatatableEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
},
{
"name": "apptableId",
"in": "path",
"description": "apptableId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostDataTablesAppTableIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostDataTablesAppTableIdResponse"
}
}
}
},
"put": {
"tags": [
"Data Tables"
],
"summary": "Update Entry in Data Table (One to One)",
"description": "Updates the row (if it exists) of the data table.",
"operationId": "updateDatatableEntryOnetoOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
},
{
"name": "apptableId",
"in": "path",
"description": "apptableId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutDataTablesAppTableIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutDataTablesAppTableIdResponse"
}
}
}
},
"delete": {
"tags": [
"Data Tables"
],
"summary": "Delete Entry(s) in Data Table",
"description": "Deletes the entry (if it exists) for data tables that are one-to-one with the application table. \nDeletes the entries (if they exist) for data tables that are one-to-many with the application table.",
"operationId": "deleteDatatableEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
},
{
"name": "apptableId",
"in": "path",
"description": "apptableId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteDataTablesDatatableAppTableIdResponse"
}
}
}
}
},
"/datatables/{datatable}": {
"get": {
"tags": [
"Data Tables"
],
"summary": "Retrieve Data Table Details",
"description": "Lists a registered data table details and the Apache Fineract Core application table they are registered to.",
"operationId": "getDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "datatable",
"in": "path",
"description": "datatable",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetDataTablesResponse"
}
}
}
}
},
"/entityDatatableChecks/{entityDatatableCheckId}": {
"delete": {
"tags": [
"Entity Datatable Check"
],
"summary": "Delete Entity-Datatable Checks",
"description": "Deletes an existing Entity-Datatable Check",
"operationId": "deleteDatatable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityDatatableCheckId",
"in": "path",
"description": "entityDatatableCheckId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteEntityDatatableChecksTemplateResponse"
}
}
}
}
},
"/entityDatatableChecks": {
"get": {
"tags": [
"Entity Datatable Check"
],
"summary": "List Entity-Datatable Checks",
"description": "The list capability of Entity-Datatable Checks can support pagination.\n\nOPTIONAL ARGUMENTS\noffset Integer optional, defaults to 0 Indicates the result from which pagination startslimit Integer optional, defaults to 200 Restricts the size of results returned. To override the default and return all entries you must explicitly pass a non-positive integer value for limit e.g. limit=0, or limit=-1\nExample Request:\n\nentityDatatableChecks?offset=0&limit=15",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "status",
"in": "query",
"description": "status",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "entity",
"in": "query",
"description": "entity",
"required": false,
"type": "string"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetEntityDatatableChecksResponse"
}
}
}
}
},
"post": {
"tags": [
"Entity Datatable Check"
],
"summary": "Create Entity-Datatable Checks",
"description": "Mandatory Fields : \nentity, status, datatableName\n\nNon-Mandatory Fields : \nproductId",
"operationId": "createEntityDatatableCheck",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostEntityDatatableChecksTemplateRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostEntityDatatableChecksTemplateResponse"
}
}
}
}
},
"/entityDatatableChecks/template": {
"get": {
"tags": [
"Entity Datatable Check"
],
"summary": "Retrieve Entity-Datatable Checks Template",
"description": "This is a convenience resource useful for building maintenance user interface screens for Entity-Datatable Checks applications. The template data returned consists of:\n\nAllowed Value Lists\nExample Request:\n\nentityDatatableChecks/template",
"operationId": "getTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetEntityDatatableChecksTemplateResponse"
}
}
}
}
},
"/reports/{id}": {
"get": {
"tags": [
"Reports"
],
"summary": "Retrieve a Report\n",
"description": "Example Requests:\n\nreports/1\n\n\nreports/1?template=true",
"operationId": "retrieveReport",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "id",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetReportsResponse"
}
}
}
},
"put": {
"tags": [
"Reports"
],
"summary": "Update a Report",
"description": "Only the useReport value can be updated for core reports.",
"operationId": "updateReport",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "id",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutReportRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutReportResponse"
}
}
}
},
"delete": {
"tags": [
"Reports"
],
"summary": "Delete a Report",
"description": "Only non-core reports can be deleted.",
"operationId": "deleteReport",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "id",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteReportsResponse"
}
}
}
}
},
"/reports/template": {
"get": {
"tags": [
"Reports"
],
"summary": "Retrieve Report Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Request : \n\nreports/template",
"operationId": "retrieveOfficeTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetReportsTemplateResponse"
}
}
}
}
},
"/reports": {
"get": {
"tags": [
"Reports"
],
"summary": "List Reports",
"description": "Lists all reports and their parameters.\n\nExample Request:\n\nreports",
"operationId": "retrieveReportList",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": ""
}
}
},
"post": {
"tags": [
"Reports"
],
"summary": "Create a Report",
"description": "",
"operationId": "createReport",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostRepostRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostReportsResponse"
}
}
}
}
},
"/runreports/{reportName}": {
"get": {
"tags": [
"Run Reports"
],
"summary": "Running a Report",
"description": "This resource allows you to run and receive output from pre-defined Apache Fineract reports.\n\nReports can also be used to provide data for searching and workflow functionality.\n\nThe default output is a JSON formatted \"Generic Resultset\". The Generic Resultset contains Column Heading as well as Data information. However, you can export to CSV format by simply adding \"&exportCSV=true\" to the end of your URL.\n\nIf Pentaho reports have been pre-defined, they can also be run through this resource. Pentaho reports can return HTML, PDF or CSV formats.\n\nThe Apache Fineract reference application uses a JQuery plugin called stretchy reporting which, itself, uses this reports resource to provide a pretty flexible reporting User Interface (UI).\n\n\n\nExample Requests:\n\nrunreports/Client%20Listing?R_officeId=1\n\n\nrunreports/Client%20Listing?R_officeId=1&exportCSV=true\n\n\nrunreports/OfficeIdSelectOne?R_officeId=1&parameterType=true\n\n\nrunreports/OfficeIdSelectOne?R_officeId=1&parameterType=true&exportCSV=true\n\n\nrunreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&R_loanOfficerId=-1&R_officeId=1&R_startDate=2013-04-16&output-type=HTML&R_officeId=1\n\n\nrunreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&R_loanOfficerId=-1&R_officeId=1&R_startDate=2013-04-16&output-type=XLS&R_officeId=1\n\n\nrunreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&R_loanOfficerId=-1&R_officeId=1&R_startDate=2013-04-16&output-type=CSV&R_officeId=1\n\n\nrunreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&R_loanOfficerId=-1&R_officeId=1&R_startDate=2013-04-16&output-type=PDF&R_officeId=1",
"operationId": "runReport",
"consumes": [
"application/json"
],
"produces": [
"application/json",
"text/csv",
"application/vnd.ms-excel",
"application/pdf",
"text/html"
],
"parameters": [
{
"name": "reportName",
"in": "path",
"description": "reportName",
"required": true,
"type": "string"
},
{
"name": "isSelfServiceUserReport",
"in": "query",
"description": "isSelfServiceUserReport",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetReportNameResponse"
}
}
}
}
},
"/{entityType}/{entityId}/documents/{documentId}/attachment": {
"get": {
"tags": [
"Documents"
],
"summary": "Retrieve Binary File associated with Document",
"description": "Request used to download the file associated with the document\n\nExample Requests:\n\nclients/1/documents/1/attachment\n\n\nloans/1/documents/1/attachment",
"operationId": "downloadFile",
"consumes": [
"application/json"
],
"produces": [
"application/octet-stream"
],
"parameters": [
{
"name": "entityType",
"in": "path",
"description": "entityType",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "documentId",
"in": "path",
"description": "documentId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "Not Shown: The corresponding Binary file"
}
}
}
},
"/{entityType}/{entityId}/documents": {
"get": {
"tags": [
"Documents"
],
"summary": "List documents",
"description": "Example Requests:\n\nclients/1/documents\n\nclient_identifiers/1/documents\n\nloans/1/documents?fields=name,description",
"operationId": "retreiveAllDocuments",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityType",
"in": "path",
"description": "entityType",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetEntityTypeEntityIdDocumentsResponse"
}
}
}
}
},
"post": {
"tags": [
"Documents"
],
"summary": "Create a Document",
"description": "Note: A document is created using a Multi-part form upload \n\nBody Parts\n\nname : \nName or summary of the document\n\ndescription : \nDescription of the document\n\nfile : \nThe file to be uploaded\n\nMandatory Fields : \nfile and description",
"operationId": "createDocument",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityType",
"in": "path",
"description": "entityType",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "Content-Length",
"in": "header",
"description": "Content-Length",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "file",
"in": "formData",
"description": "file",
"required": false,
"type": "file"
},
{
"name": "name",
"in": "formData",
"description": "name",
"required": false,
"type": "string"
},
{
"name": "description",
"in": "formData",
"description": "description",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Not Shown (multi-part form data)",
"schema": {
"$ref": "#/definitions/PostEntityTypeEntityIdDocumentsResponse"
}
}
}
}
},
"/{entityType}/{entityId}/documents/{documentId}": {
"get": {
"tags": [
"Documents"
],
"summary": "Retrieve a Document",
"description": "Example Requests:\n\nclients/1/documents/1\n\n\nloans/1/documents/1\n\n\nclient_identifiers/1/documents/1?fields=name,description",
"operationId": "getDocument",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityType",
"in": "path",
"description": "entityType",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "documentId",
"in": "path",
"description": "documentId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetEntityTypeEntityIdDocumentsResponse"
}
}
}
},
"put": {
"tags": [
"Documents"
],
"summary": "Update a Document",
"description": "Note: A document is updated using a Multi-part form upload \nBody Parts\nname\nName or summary of the document\ndescription\nDescription of the document\nfile\nThe file to be uploaded",
"operationId": "updateDocument",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityType",
"in": "path",
"description": "entityType",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "documentId",
"in": "path",
"description": "documentId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "Content-Length",
"in": "header",
"description": "Content-Length",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "file",
"in": "formData",
"description": "file",
"required": false,
"type": "file"
},
{
"name": "name",
"in": "formData",
"description": "name",
"required": false,
"type": "string"
},
{
"name": "description",
"in": "formData",
"description": "description",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Not Shown (multi-part form data)",
"schema": {
"$ref": "#/definitions/PutEntityTypeEntityIdDocumentsResponse"
}
}
}
},
"delete": {
"tags": [
"Documents"
],
"summary": "Remove a Document",
"description": "",
"operationId": "deleteDocument",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityType",
"in": "path",
"description": "entityType",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "documentId",
"in": "path",
"description": "documentId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteEntityTypeEntityIdDocumentsResponse"
}
}
}
}
},
"/{entity}/{entityId}/images": {
"get": {
"tags": [
"DomainNameapiv1{entity}{entityId}images"
],
"operationId": "retrieveImage",
"consumes": [
"text/plain",
"text/html",
"application/json"
],
"produces": [
"text/plain"
],
"parameters": [
{
"name": "entity",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "maxWidth",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "maxHeight",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "output",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
},
"post": {
"tags": [
"DomainNameapiv1{entity}{entityId}images"
],
"operationId": "addNewClientImage",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entity",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "Content-Length",
"in": "header",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"DomainNameapiv1{entity}{entityId}images"
],
"operationId": "updateClientImage",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entity",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "Content-Length",
"in": "header",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"delete": {
"tags": [
"DomainNameapiv1{entity}{entityId}images"
],
"operationId": "deleteClientImage",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entity",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "entityId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/entitytoentitymapping/{mapId}/{fromId}/{toId}": {
"get": {
"tags": [
"DomainNameapiv1entitytoentitymapping"
],
"operationId": "getEntityToEntityMappings",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "mapId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "fromId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "toId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/entitytoentitymapping": {
"get": {
"tags": [
"DomainNameapiv1entitytoentitymapping"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/entitytoentitymapping/{mapId}": {
"get": {
"tags": [
"DomainNameapiv1entitytoentitymapping"
],
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "mapId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"DomainNameapiv1entitytoentitymapping"
],
"operationId": "updateMap",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "mapId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"delete": {
"tags": [
"DomainNameapiv1entitytoentitymapping"
],
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "mapId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/entitytoentitymapping/{relId}": {
"post": {
"tags": [
"DomainNameapiv1entitytoentitymapping"
],
"operationId": "createMap",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "relId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/hooks/{hookId}": {
"get": {
"tags": [
"Hooks"
],
"summary": "Retrieve a Hook",
"description": "Returns the details of a Hook.\n\nExample Requests:\n\nhooks/1",
"operationId": "retrieveHook",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "hookId",
"in": "path",
"description": "hookId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetHookResponse"
}
}
}
},
"put": {
"tags": [
"Hooks"
],
"summary": "Update a Hook",
"description": "Updates the details of a hook.",
"operationId": "updateHook",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "hookId",
"in": "path",
"description": "hookId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutHookRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutHookResponse"
}
}
}
},
"delete": {
"tags": [
"Hooks"
],
"summary": "Delete a Hook",
"description": "Deletes a hook.",
"operationId": "deleteHook",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "hookId",
"in": "path",
"description": "hookId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteHookResponse"
}
}
}
}
},
"/hooks": {
"get": {
"tags": [
"Hooks"
],
"summary": "Retrieve Hooks",
"description": "Returns the list of hooks.\n\nExample Requests:\n\nhooks",
"operationId": "retrieveHooks",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetHookResponse"
}
}
}
}
},
"post": {
"tags": [
"Hooks"
],
"summary": "Create a Hook",
"description": "The following parameters can be passed for the creation of a hook :-\n\nname - string - Required. The name of the template that is being called. (See /hooks/template for the list of valid hook names.)\n\nisActive - boolean - Determines whether the hook is actually triggered.\n\nevents - array - Determines what events the hook is triggered for.\n\nconfig - hash - Required. Key/value pairs to provide settings for this hook. These settings vary between the templates.\n\ntemplateId - Optional. The UGD template ID associated with the same entity (client or loan).",
"operationId": "createHook",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostHookRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostHookResponse"
}
}
}
}
},
"/hooks/template": {
"get": {
"tags": [
"Hooks"
],
"summary": "Retrieve Hooks Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nhooks/template",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetHookTemplateResponse"
}
}
}
}
},
"/scheduler": {
"get": {
"tags": [
"Scheduler"
],
"summary": "Retrieve Scheduler Status",
"description": "Returns the scheduler status.\n\nExample Requests:\n\nscheduler",
"operationId": "retrieveStatus",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetSchedulerResponse"
}
}
}
},
"post": {
"tags": [
"Scheduler"
],
"summary": "Activate Scheduler Jobs | Suspend Scheduler Jobs",
"description": "Activates the scheduler job service. | Suspends the scheduler job service.",
"operationId": "changeSchedulerStatus",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "POST : scheduler?command=start\n\n\nPOST : scheduler?command=stop"
}
}
}
},
"/jobs/{jobId}/runhistory": {
"get": {
"tags": [
"MIFOSX-BATCH JOBS"
],
"summary": "Retrieve Job Run History",
"description": "Example Requests:\n\njobs/5/runhistory?offset=0&limit=200",
"operationId": "retrieveHistory",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "jobId",
"in": "path",
"description": "jobId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetJobsJobIDJobRunHistoryResponse"
}
}
}
}
},
"/jobs/{jobId}": {
"get": {
"tags": [
"MIFOSX-BATCH JOBS"
],
"summary": "Retrieve a Job",
"description": "Returns the details of a Job.\n\nExample Requests:\n\njobs/5",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "jobId",
"in": "path",
"description": "jobId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetJobsResponse"
}
}
}
},
"post": {
"tags": [
"MIFOSX-BATCH JOBS"
],
"summary": "Run a Job",
"description": "Manually Execute Specific Job.",
"operationId": "executeJob",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "jobId",
"in": "path",
"description": "jobId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "POST: jobs/1?command=executeJob"
}
}
},
"put": {
"tags": [
"MIFOSX-BATCH JOBS"
],
"summary": "Update a Job",
"description": "Updates the details of a job.",
"operationId": "updateJobDetail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "jobId",
"in": "path",
"description": "jobId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutJobsJobsIDRequest"
}
}
],
"responses": {
"200": {
"description": ""
}
}
}
},
"/jobs": {
"get": {
"tags": [
"MIFOSX-BATCH JOBS"
],
"summary": "Retrieve Scheduler Jobs",
"description": "Returns the list of jobs.\n\nExample Requests:\n\njobs",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetJobsResponse"
}
}
}
}
}
},
"/reportmailingjobs": {
"get": {
"tags": [
"Report Mailing Jobs"
],
"summary": "List Report Mailing Jobs",
"description": "Example Requests:\n\nreportmailingjobs",
"operationId": "retrieveAllReportMailingJobs",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetReportMailingJobsResponse"
}
}
}
}
},
"post": {
"tags": [
"Report Mailing Jobs"
],
"summary": "Create a Report Mailing Job",
"description": "Mandatory Fields: name, startDateTime, stretchyReportId, emailRecipients, emailSubject, emailMessage, emailAttachmentFileFormatId, recurrence, isActive\n\nOptional Fields: description, stretchyReportParamMap",
"operationId": "createReportMailingJob",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostReportMailingJobsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostReportMailingJobsResponse"
}
}
}
}
},
"/reportmailingjobs/{entityId}": {
"get": {
"tags": [
"Report Mailing Jobs"
],
"summary": "Retrieve a Report Mailing Job",
"description": "Example Requests:\n\nreportmailingjobs/1\n\n\nreportmailingjobs/1?template=true",
"operationId": "retrieveReportMailingJob",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetReportMailingJobsResponse"
}
}
}
},
"put": {
"tags": [
"Report Mailing Jobs"
],
"summary": "Update a Report Mailing Job\n",
"description": "",
"operationId": "updateReportMailingJob",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutReportMailingJobsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutReportMailingJobsResponse"
}
}
}
},
"delete": {
"tags": [
"Report Mailing Jobs"
],
"summary": "Delete a Report Mailing Job",
"description": "",
"operationId": "deleteReportMailingJob",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entityId",
"in": "path",
"description": "entityId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteReportMailingJobsRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteReportMailingJobsResponse"
}
}
}
}
},
"/reportmailingjobs/template": {
"get": {
"tags": [
"Report Mailing Jobs"
],
"summary": "Retrieve Report Mailing Job Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for report mailing job applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nreportmailingjobs/template",
"operationId": "retrieveReportMailingJobTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetReportMailingJobsTemplate"
}
}
}
}
},
"/reportmailingjobrunhistory": {
"get": {
"tags": [
"List Report Mailing Job History"
],
"summary": "List Report Mailing Job History",
"description": "The list capability of report mailing job history can support pagination and sorting.\n\nExample Requests:\n\nreportmailingjobrunhistory/1",
"operationId": "retrieveAllByReportMailingJobId",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "reportMailingJobId",
"in": "query",
"description": "reportMailingJobId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/ReportMailingJobRunHistoryData"
}
}
}
}
},
"/authentication": {
"post": {
"tags": [
"Authentication HTTP Basic"
],
"summary": "Verify authentication",
"description": "Authenticates the credentials provided and returns the set roles and permissions allowed.",
"operationId": "authenticate",
"produces": [
"application/json"
],
"parameters": [
{
"name": "username",
"in": "query",
"description": "username",
"required": false,
"type": "string"
},
{
"name": "password",
"in": "query",
"description": "password",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostAuthenticationResponse"
}
},
"400": {
"description": "Unauthenticated. Please login"
}
}
}
},
"/userdetails": {
"get": {
"tags": [
"Fetch authenticated user details"
],
"summary": "Fetch authenticated user details\n",
"description": "checks the Authentication and returns the set roles and permissions allowed.",
"operationId": "fetchAuthenticatedUserData",
"produces": [
"application/json"
],
"parameters": [
{
"name": "access_token",
"in": "query",
"description": "access_token",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetUserDetailsResponse"
}
}
}
}
},
"/sms/{campaignId}/messageByStatus": {
"get": {
"tags": [
"SMS"
],
"operationId": "retrieveAllSmsByStatus",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "campaignId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "status",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromDate",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "toDate",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "locale",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "sqlSearch",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/sms": {
"get": {
"tags": [
"SMS"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"post": {
"tags": [
"SMS"
],
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/sms/{resourceId}": {
"get": {
"tags": [
"SMS"
],
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"SMS"
],
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"delete": {
"tags": [
"SMS"
],
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/likelihood/{ppiName}": {
"get": {
"tags": [
"Likelihood"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "ppiName",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/likelihood/{ppiName}/{likelihoodId}": {
"get": {
"tags": [
"Likelihood"
],
"operationId": "retrieve",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "likelihoodId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"Likelihood"
],
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "likelihoodId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/povertyLine/{ppiName}": {
"get": {
"tags": [
"Poverty Line"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "ppiName",
"in": "path",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/povertyLine/{ppiName}/{likelihoodId}": {
"get": {
"tags": [
"Poverty Line"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "ppiName",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "likelihoodId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/survey/{surveyName}/{apptableId}": {
"post": {
"tags": [
"Survey"
],
"summary": "Create an entry in the survey table",
"description": "Insert and entry in a survey table (full fill the survey).\n\nRefer Link for sample Body: [ https://demo.openmf.org/api-docs/apiLive.htm#survey_create ] ",
"operationId": "createDatatableEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyName",
"in": "path",
"description": "surveyName",
"required": true,
"type": "string"
},
{
"name": "apptableId",
"in": "path",
"description": "apptableId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSurveySurveyNameApptableIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostSurveySurveyNameApptableIdResponse"
}
}
}
}
},
"/survey/{surveyName}/{clientId}/{fulfilledId}": {
"delete": {
"tags": [
"Survey"
],
"operationId": "deleteDatatableEntries",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyName",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "fulfilledId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/survey/{surveyName}/{clientId}": {
"get": {
"tags": [
"Survey"
],
"operationId": "getClientSurveyOverview",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyName",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/survey/{surveyName}/{clientId}/{entryId}": {
"get": {
"tags": [
"Survey"
],
"operationId": "getSurveyEntry",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyName",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "entryId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/survey/{surveyName}": {
"get": {
"tags": [
"Survey"
],
"summary": "Retrieve survey",
"description": "Lists a registered survey table details and the Apache Fineract Core application table they are registered to.",
"operationId": "retrieveSurvey",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyName",
"in": "path",
"description": "surveyName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetSurveyResponse"
}
}
}
}
},
"/survey": {
"get": {
"tags": [
"Survey"
],
"summary": "Retrieve surveys",
"description": "Retrieve surveys. This allows to retrieve the list of survey tables registered .",
"operationId": "retrieveSurveys",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetSurveyResponse"
}
}
}
}
}
},
"/survey/register/{surveyName}/{apptable}": {
"put": {
"tags": [
"Survey"
],
"operationId": "register",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyName",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "apptable",
"in": "path",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/interoperation/accounts/{accountId}": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation Account details",
"description": "",
"operationId": "getAccountDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropAccountData"
}
}
}
}
},
"/interoperation/accounts/{accountId}/transactions": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query transactions by Account Id",
"description": "",
"operationId": "getAccountTransactions",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "string"
},
{
"name": "debit",
"in": "query",
"description": "debit",
"required": false,
"type": "boolean",
"default": true
},
{
"name": "credit",
"in": "query",
"description": "credit",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "fromBookingDateTime",
"in": "query",
"description": "fromBookingDateTime",
"required": false,
"type": "string"
},
{
"name": "toBookingDateTime",
"in": "query",
"description": "toBookingDateTime",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropTransactionsData"
}
}
}
}
},
"/interoperation/accounts/{accountId}/identifiers": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation secondary identifiers by Account Id",
"description": "",
"operationId": "getAccountIdentifiers",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropIdentifiersResponseData"
}
}
}
}
},
"/interoperation/parties/{idType}/{idValue}": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation Account by secondary identifier",
"description": "",
"operationId": "getAccountByIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "idType",
"in": "path",
"description": "idType",
"required": true,
"type": "string",
"enum": [
"MSISDN",
"EMAIL",
"PERSONAL_ID",
"BUSINESS",
"DEVICE",
"ACCOUNT_ID",
"IBAN",
"ALIAS"
]
},
{
"name": "idValue",
"in": "path",
"description": "idValue",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropIdentifierAccountResponseData"
}
}
}
},
"post": {
"tags": [
"interoperation"
],
"summary": "Interoperation Identifier registration",
"description": "",
"operationId": "registerAccountIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "idType",
"in": "path",
"description": "idType",
"required": true,
"type": "string",
"enum": [
"MSISDN",
"EMAIL",
"PERSONAL_ID",
"BUSINESS",
"DEVICE",
"ACCOUNT_ID",
"IBAN",
"ALIAS"
]
},
{
"name": "idValue",
"in": "path",
"description": "idValue",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/InteropIdentifierRequestData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropIdentifierAccountResponseData"
}
}
}
},
"delete": {
"tags": [
"interoperation"
],
"summary": "Allow Interoperation Identifier registration",
"description": "",
"operationId": "deleteAccountIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "idType",
"in": "path",
"description": "idType",
"required": true,
"type": "string",
"enum": [
"MSISDN",
"EMAIL",
"PERSONAL_ID",
"BUSINESS",
"DEVICE",
"ACCOUNT_ID",
"IBAN",
"ALIAS"
]
},
{
"name": "idValue",
"in": "path",
"description": "idValue",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/InteropIdentifierRequestData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropIdentifierAccountResponseData"
}
}
}
}
},
"/interoperation/parties/{idType}/{idValue}/{subIdOrType}": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation Account by secondary identifier",
"description": "",
"operationId": "getAccountByIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "idType",
"in": "path",
"description": "idType",
"required": true,
"type": "string",
"enum": [
"MSISDN",
"EMAIL",
"PERSONAL_ID",
"BUSINESS",
"DEVICE",
"ACCOUNT_ID",
"IBAN",
"ALIAS"
]
},
{
"name": "idValue",
"in": "path",
"description": "idValue",
"required": true,
"type": "string"
},
{
"name": "subIdOrType",
"in": "path",
"description": "subIdOrType",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropIdentifierAccountResponseData"
}
}
}
},
"post": {
"tags": [
"interoperation"
],
"summary": "Interoperation Identifier registration",
"description": "",
"operationId": "registerAccountIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "idType",
"in": "path",
"description": "idType",
"required": true,
"type": "string",
"enum": [
"MSISDN",
"EMAIL",
"PERSONAL_ID",
"BUSINESS",
"DEVICE",
"ACCOUNT_ID",
"IBAN",
"ALIAS"
]
},
{
"name": "idValue",
"in": "path",
"description": "idValue",
"required": true,
"type": "string"
},
{
"name": "subIdOrType",
"in": "path",
"description": "subIdOrType",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/InteropIdentifierRequestData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropIdentifierAccountResponseData"
}
}
}
},
"delete": {
"tags": [
"interoperation"
],
"summary": "Allow Interoperation Identifier registration",
"description": "",
"operationId": "deleteAccountIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "idType",
"in": "path",
"description": "idType",
"required": true,
"type": "string",
"enum": [
"MSISDN",
"EMAIL",
"PERSONAL_ID",
"BUSINESS",
"DEVICE",
"ACCOUNT_ID",
"IBAN",
"ALIAS"
]
},
{
"name": "idValue",
"in": "path",
"description": "idValue",
"required": true,
"type": "string"
},
{
"name": "subIdOrType",
"in": "path",
"description": "subIdOrType",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/InteropIdentifierRequestData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropIdentifierAccountResponseData"
}
}
}
}
},
"/interoperation/transactions/{transactionCode}/requests/{requestCode}": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation Transaction Request",
"description": "",
"operationId": "getTransactionRequest",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "transactionCode",
"in": "path",
"description": "transactionCode",
"required": true,
"type": "string"
},
{
"name": "requestCode",
"in": "path",
"description": "requestCode",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropTransactionRequestResponseData"
}
}
}
}
},
"/interoperation/requests": {
"post": {
"tags": [
"interoperation"
],
"summary": "Allow Interoperation Transaction Request",
"description": "",
"operationId": "createTransactionRequest",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/InteropTransactionRequestData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropTransactionRequestResponseData"
}
}
}
}
},
"/interoperation/transactions/{transactionCode}/quotes/{quoteCode}": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation Quote",
"description": "",
"operationId": "getQuote",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "transactionCode",
"in": "path",
"description": "transactionCode",
"required": true,
"type": "string"
},
{
"name": "quoteCode",
"in": "path",
"description": "quoteCode",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropQuoteResponseData"
}
}
}
}
},
"/interoperation/quotes": {
"post": {
"tags": [
"interoperation"
],
"summary": "Calculate Interoperation Quote",
"description": "",
"operationId": "createQuote",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/InteropQuoteRequestData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropQuoteResponseData"
}
}
}
}
},
"/interoperation/transactions/{transactionCode}/transfers/{transferCode}": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation Transfer",
"description": "",
"operationId": "getTransfer",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "transactionCode",
"in": "path",
"description": "transactionCode",
"required": true,
"type": "string"
},
{
"name": "transferCode",
"in": "path",
"description": "transferCode",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropTransferResponseData"
}
}
}
}
},
"/interoperation/transfers": {
"post": {
"tags": [
"interoperation"
],
"summary": "Prepare Interoperation Transfer",
"description": "",
"operationId": "performTransfer",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "action",
"in": "query",
"description": "action",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/InteropTransferRequestData"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/InteropTransferResponseData"
}
}
}
}
},
"/interoperation/health": {
"get": {
"tags": [
"interoperation"
],
"summary": "Query Interoperation Health Request",
"description": "",
"operationId": "health",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/mixreport": {
"get": {
"tags": [
"Mix Report"
],
"operationId": "retrieveXBRLReport",
"produces": [
"application/xml"
],
"parameters": [
{
"name": "startDate",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "endDate",
"in": "query",
"required": false,
"type": "string",
"format": "date-time"
},
{
"name": "currency",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/mixtaxonomy": {
"get": {
"tags": [
"Mix Taxonomy"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/mixmapping": {
"get": {
"tags": [
"Mix Mapping "
],
"operationId": "retrieveTaxonomyMapping",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"Mix Mapping "
],
"operationId": "updateTaxonomyMapping",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/notifications": {
"get": {
"tags": [
"Notification"
],
"operationId": "getAllNotifications",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "orderBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "offset",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "sortOrder",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "isRead",
"in": "query",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"Notification"
],
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/holidays/{holidayId}": {
"get": {
"tags": [
"Holidays"
],
"summary": "Retrieve a Holiday",
"description": "Example Requests:\n\nholidays/1",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "holidayId",
"in": "path",
"description": "holidayId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetHolidaysResponse"
}
}
}
},
"post": {
"tags": [
"Holidays"
],
"summary": "Activate a Holiday",
"description": "Always Holidays are created in pending state. This API allows to activate a holiday.\n\nOnly the active holidays are considered for rescheduling the loan repayment.",
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "holidayId",
"in": "path",
"description": "holidayId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostHolidaysHolidayIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostHolidaysHolidayIdResponse"
}
}
}
},
"put": {
"tags": [
"Holidays"
],
"summary": "Update a Holiday",
"description": "If a holiday is in pending state (created and not activated) then all fields are allowed to modify. Once holidays become active only name and descriptions are allowed to modify.",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "holidayId",
"in": "path",
"description": "holidayId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutHolidaysHolidayIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutHolidaysHolidayIdResponse"
}
}
}
},
"delete": {
"tags": [
"Holidays"
],
"summary": "Delete a Holiday",
"description": "This API allows to delete a holiday. This is a soft delete the deleted holiday status is marked as deleted.",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "holidayId",
"in": "path",
"description": "holidayId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteHolidaysHolidayIdResponse"
}
}
}
}
},
"/holidays": {
"get": {
"tags": [
"Holidays"
],
"summary": "List Holidays",
"description": "Example Requests:\n\nholidays?officeId=1",
"operationId": "retrieveAllHolidays",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromDate",
"in": "query",
"description": "fromDate",
"required": false,
"type": "string"
},
{
"name": "toDate",
"in": "query",
"description": "toDate",
"required": false,
"type": "string"
},
{
"name": "locale",
"in": "query",
"description": "locale",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "query",
"description": "dateFormat",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetHolidaysResponse"
}
}
}
}
},
"post": {
"tags": [
"Holidays"
],
"summary": "Create a Holiday",
"description": "Mandatory Fields: name, description, fromDate, toDate, repaymentsRescheduledTo, offices",
"operationId": "createNewHoliday",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostHolidaysRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostHolidaysResponse"
}
}
}
}
},
"/holidays/template": {
"get": {
"tags": [
"Holidays"
],
"operationId": "retrieveRepaymentScheduleUpdationTyeOptions",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/currencies": {
"get": {
"tags": [
"Currency"
],
"summary": "Retrieve Currency Configuration",
"description": "Returns the list of currencies permitted for use AND the list of currencies not selected (but available for selection).\n\nExample Requests:\n\ncurrencies\n\n\ncurrencies?fields=selectedCurrencyOptions",
"operationId": "retrieveCurrencies",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetCurrenciesResponse"
}
}
}
},
"put": {
"tags": [
"Currency"
],
"summary": "Update Currency Configuration",
"description": "Updates the list of currencies permitted for use.",
"operationId": "updateCurrencies",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutCurrenciesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutCurrenciesResponse"
}
}
}
}
},
"/officetransactions": {
"get": {
"tags": [
"officetransactions"
],
"operationId": "retrieveOfficeTransactions",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"post": {
"tags": [
"officetransactions"
],
"operationId": "transferMoneyFrom",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/officetransactions/template": {
"get": {
"tags": [
"officetransactions"
],
"operationId": "newOfficeTransactionDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/officetransactions/{transactionId}": {
"delete": {
"tags": [
"officetransactions"
],
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "transactionId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/offices/template": {
"get": {
"tags": [
"Offices"
],
"summary": "Retrieve Office Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\noffices/template",
"operationId": "retrieveOfficeTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetOfficesTemplateResponse"
}
}
}
}
},
"/offices/downloadtemplate": {
"get": {
"tags": [
"Offices"
],
"operationId": "getOfficeTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/offices/uploadtemplate": {
"post": {
"tags": [
"Offices"
],
"operationId": "postOfficeTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/offices": {
"get": {
"tags": [
"Offices"
],
"summary": "List Offices",
"description": "Example Requests:\n\noffices\n\n\noffices?fields=id,name,openingDate",
"operationId": "retrieveOffices",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "includeAllOffices",
"in": "query",
"description": "includeAllOffices",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetOfficesResponse"
}
}
}
}
},
"post": {
"tags": [
"Offices"
],
"summary": "Create an Office",
"description": "Mandatory Fields\nname, openingDate, parentId",
"operationId": "createOffice",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostOfficesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostOfficesResponse"
}
}
}
}
},
"/offices/{officeId}": {
"get": {
"tags": [
"Offices"
],
"summary": "Retrieve an Office",
"description": "Example Requests:\n\noffices/1\n\n\noffices/1?template=true\n\n\noffices/1?fields=id,name,parentName",
"operationId": "retreiveOffice",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "path",
"description": "officeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetOfficesResponse"
}
}
}
},
"put": {
"tags": [
"Offices"
],
"summary": "Update Office",
"description": "",
"operationId": "updateOffice",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "path",
"description": "officeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutOfficesOfficeIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutOfficesOfficeIdResponse"
}
}
}
}
},
"/provisioningcategory/{categoryId}": {
"put": {
"tags": [
"Provisioning Category"
],
"operationId": "updateProvisioningCategory",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "categoryId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"delete": {
"tags": [
"Provisioning Category"
],
"operationId": "deleteProvisioningCategory",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "categoryId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/provisioningcategory": {
"get": {
"tags": [
"Provisioning Category"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"post": {
"tags": [
"Provisioning Category"
],
"operationId": "createProvisioningCategory",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/provisioningcriteria/{criteriaId}": {
"get": {
"tags": [
"Provisioning Criteria"
],
"summary": "Retrieves a Provisioning Criteria",
"description": "Retrieves a Provisioning Criteria",
"operationId": "retrieveProvisioningCriteria",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "criteriaId",
"in": "path",
"description": "criteriaId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetProvisioningCriteriaCriteriaIdResponse"
}
}
}
},
"put": {
"tags": [
"Provisioning Criteria"
],
"summary": "Updates a new Provisioning Criteria",
"description": "Updates a new Provisioning Criteria\n\nOptional Fields\ncriteriaName, loanProducts, provisioningcriteria",
"operationId": "updateProvisioningCriteria",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "criteriaId",
"in": "path",
"description": "criteriaId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutProvisioningCriteriaRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutProvisioningCriteriaResponse"
}
}
}
},
"delete": {
"tags": [
"Provisioning Criteria"
],
"summary": "Deletes Provisioning Criteria",
"description": "Deletes Provisioning Criteria",
"operationId": "deleteProvisioningCriteria",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "criteriaId",
"in": "path",
"description": "criteriaId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteProvisioningCriteriaResponse"
}
}
}
}
},
"/provisioningcriteria": {
"get": {
"tags": [
"Provisioning Criteria"
],
"summary": "Retrieves all created Provisioning Criterias",
"description": "Retrieves all created Provisioning Criterias",
"operationId": "retrieveAllProvisioningCriterias",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetProvisioningCriteriaResponse"
}
}
}
}
},
"post": {
"tags": [
"Provisioning Criteria"
],
"summary": "Create a new Provisioning Criteria",
"description": "Creates a new Provisioning Criteria\n\nMandatory Fields: \ncriteriaName\nprovisioningcriteria\n\nOptional Fields: \nloanProducts",
"operationId": "createProvisioningCriteria",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostProvisioningCriteriaRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostProvisioningCriteriaResponse"
}
}
}
}
},
"/provisioningcriteria/template": {
"get": {
"tags": [
"Provisioning Criteria"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/staff": {
"get": {
"tags": [
"Staff"
],
"summary": "Retrieve Staff",
"description": "Returns the list of staff members.\n\nExample Requests:\n\nstaff\n\n\n\n\nRetrieve a Staff by status\n\nReturns the details of a Staff based on status.\n\nBy default it Returns all the ACTIVE Staff.\n\nIf status=INACTIVE, then it returns all INACTIVE Staff.\n\nand for status=ALL, it Returns both ACTIVE and INACTIVE Staff.\n\nExample Requests:\n\nstaff?status=active",
"operationId": "retrieveStaff",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffInOfficeHierarchy",
"in": "query",
"description": "staffInOfficeHierarchy",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "loanOfficersOnly",
"in": "query",
"description": "loanOfficersOnly",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "status",
"in": "query",
"description": "status",
"required": false,
"type": "string",
"default": "active"
}
],
"responses": {
"200": {
"description": "GET https://DomainName/api/v1/staff?status={ACTIVE|INACTIVE|ALL}",
"schema": {
"$ref": "#/definitions/GetStaffResponse"
}
}
}
},
"post": {
"tags": [
"Staff"
],
"summary": "Create a staff member",
"description": "Creates a staff member.\n\nMandatory Fields: \nofficeId, firstname, lastname\n\nOptional Fields: \nisLoanOfficer, isActive",
"operationId": "createStaff",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostStaffRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostStaffResponse"
}
}
}
}
},
"/staff/{staffId}": {
"get": {
"tags": [
"Staff"
],
"summary": "Retrieve a Staff Member",
"description": "Returns the details of a Staff Member.\n\nExample Requests:\n\nstaff/1",
"operationId": "retreiveStaff",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "staffId",
"in": "path",
"description": "staffId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetStaffResponse"
}
}
}
},
"put": {
"tags": [
"Staff"
],
"summary": "Update a Staff Member",
"description": "Updates the details of a staff member.",
"operationId": "updateStaff",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "staffId",
"in": "path",
"description": "staffId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutStaffRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutStaffResponse"
}
}
}
}
},
"/staff/downloadtemplate": {
"get": {
"tags": [
"Staff"
],
"operationId": "getStaffTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/staff/uploadtemplate": {
"post": {
"tags": [
"Staff"
],
"operationId": "postStaffTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/cashiers": {
"get": {
"tags": [
"Cashiers"
],
"operationId": "getCashierData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "tellerId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "date",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/tellers/{tellerId}": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "Retrieve tellers",
"description": "",
"operationId": "findTeller",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTellersResponse"
}
}
}
},
"put": {
"tags": [
"Teller Cash Management"
],
"summary": "Update teller",
"description": "",
"operationId": "updateTeller",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutTellersRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutTellersResponse"
}
}
}
},
"delete": {
"tags": [
"Teller Cash Management"
],
"operationId": "deleteTeller",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/tellers/{tellerId}/cashiers/{cashierId}": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "Retrieve a cashier",
"description": "",
"operationId": "findCashierData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTellersTellerIdCashiersCashierIdResponse"
}
}
}
},
"put": {
"tags": [
"Teller Cash Management"
],
"summary": "Update Cashier",
"description": "",
"operationId": "updateCashier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutTellersTellerIdCashiersCashierIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutTellersTellerIdCashiersCashierIdResponse"
}
}
}
},
"delete": {
"tags": [
"Teller Cash Management"
],
"summary": "Delete Cashier",
"description": "",
"operationId": "deleteCashier",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteTellersTellerIdCashiersCashierIdResponse"
}
}
}
}
},
"/tellers/{tellerId}/cashiers/template": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "Find Cashiers",
"description": "",
"operationId": "getCashierTemplate",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTellersTellerIdCashiersTemplateResponse"
}
}
}
}
},
"/tellers/{tellerId}/cashiers": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "List Cashiers",
"description": "",
"operationId": "getCashierData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "fromdate",
"in": "query",
"description": "fromdate",
"required": false,
"type": "string"
},
{
"name": "todate",
"in": "query",
"description": "todate",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTellersTellerIdCashiersResponse"
}
}
}
},
"post": {
"tags": [
"Teller Cash Management"
],
"summary": "Create Cashiers",
"description": "Mandatory Fields: \nCashier/staff, Fromm Date, To Date, Full Day or From time and To time\n\n\n\nOptional Fields: \nDescription/Notes",
"operationId": "createCashier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostTellersTellerIdCashiersRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostTellersTellerIdCashiersResponse"
}
}
}
}
},
"/tellers": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "List all tellers",
"description": "Retrieves list tellers",
"operationId": "getTellerData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetTellersResponse"
}
}
}
}
},
"post": {
"tags": [
"Teller Cash Management"
],
"summary": "Create teller",
"description": "Mandatory Fields\nTeller name, OfficeId, Description, Start Date, Status\nOptional Fields\nEnd Date",
"operationId": "createTeller",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostTellersRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostTellersResponse"
}
}
}
}
},
"/tellers/{tellerId}/cashiers/{cashierId}/allocate": {
"post": {
"tags": [
"Teller Cash Management"
],
"summary": "Allocate Cash To Cashier",
"description": "Mandatory Fields: \nDate, Amount, Currency, Notes/Comments",
"operationId": "allocateCashToCashier",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostTellersTellerIdCashiersCashierIdAllocateRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostTellersTellerIdCashiersCashierIdAllocateResponse"
}
}
}
}
},
"/tellers/{tellerId}/cashiers/{cashierId}/settle": {
"post": {
"tags": [
"Teller Cash Management"
],
"summary": "Settle Cash From Cashier",
"description": "Mandatory Fields\nDate, Amount, Currency, Notes/Comments",
"operationId": "settleCashFromCashier",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostTellersTellerIdCashiersCashierIdSettleRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostTellersTellerIdCashiersCashierIdSettleResponse"
}
}
}
}
},
"/tellers/{tellerId}/cashiers/{cashierId}/transactions": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "Retrieve Cashier Transaction",
"description": "",
"operationId": "getTransactionsForCashier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "currencyCode",
"in": "query",
"description": "currencyCode",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetTellersTellerIdCashiersCashiersIdTransactionsResponse"
}
}
}
}
}
},
"/tellers/{tellerId}/cashiers/{cashierId}/summaryandtransactions": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "Transactions Wtih Summary For Cashier",
"description": "",
"operationId": "getTransactionsWtihSummaryForCashier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "currencyCode",
"in": "query",
"description": "currencyCode",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTellersTellerIdCashiersCashiersIdSummaryAndTransactionsResponse"
}
}
}
}
},
"/tellers/{tellerId}/cashiers/{cashierId}/transactions/template": {
"get": {
"tags": [
"Teller Cash Management"
],
"summary": "Retrieve Cashier Transaction Template",
"description": "",
"operationId": "getCashierTxnTemplate",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "path",
"description": "cashierId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTellersTellerIdCashiersCashiersIdTransactionsTemplateResponse"
}
}
}
}
},
"/tellers/{tellerId}/transactions": {
"get": {
"tags": [
"Teller Cash Management"
],
"operationId": "getTransactionData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "dateRange",
"in": "query",
"description": "dateRange",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/tellers/{tellerId}/transactions/{transactionId}": {
"get": {
"tags": [
"Teller Cash Management"
],
"operationId": "findTransactionData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/tellers/{tellerId}/journals": {
"get": {
"tags": [
"Teller Cash Management"
],
"operationId": "getJournalData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "tellerId",
"in": "path",
"description": "tellerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "query",
"description": "cashierId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateRange",
"in": "query",
"description": "dateRange",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/cashiersjournal": {
"get": {
"tags": [
"Cashier Journals"
],
"operationId": "getJournalData",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "tellerId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "cashierId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateRange",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/workingdays": {
"get": {
"tags": [
"Working days"
],
"summary": "List Working days",
"description": "Example Requests:\n\nworkingdays",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetWorkingDaysResponse"
}
}
}
}
},
"put": {
"tags": [
"Working days"
],
"summary": "Update a Working Day",
"description": "Mandatory Fields\nrecurrence,repaymentRescheduleType,extendTermForDailyRepayments,locale",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutWorkingDaysRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutWorkingDaysResponse"
}
}
}
}
},
"/workingdays/template": {
"get": {
"tags": [
"Working days"
],
"summary": "Working Days Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for working days.\n\nExample Request:\n\nworkingdays/template",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetWorkingDaysTemplateResponse"
}
}
}
}
},
"/accounttransfers/templateRefundByTransfer": {
"get": {
"tags": [
"Account Transfers"
],
"summary": "Retrieve Refund of an Active Loan by Transfer Template",
"description": "Retrieves Refund of an Active Loan by Transfer TemplateExample Requests :\n\n\n\naccounttransfers/templateRefundByTransfer?fromAccountId=2&fromAccountType=1& toAccountId=1&toAccountType=2&toClientId=1&toOfficeId=1",
"operationId": "templateRefundByTransfer",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "fromOfficeId",
"in": "query",
"description": "fromOfficeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromClientId",
"in": "query",
"description": "fromClientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountId",
"in": "query",
"description": "fromAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountType",
"in": "query",
"description": "fromAccountType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "toOfficeId",
"in": "query",
"description": "toOfficeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toClientId",
"in": "query",
"description": "toClientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toAccountId",
"in": "query",
"description": "toAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toAccountType",
"in": "query",
"description": "toAccountType",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountTransfersTemplateRefundByTransferResponse"
}
}
}
}
},
"/accounttransfers/refundByTransfer": {
"post": {
"tags": [
"Account Transfers"
],
"summary": "Refund of an Active Loan by Transfer",
"description": "Ability to refund an active loan by transferring to a savings account.",
"operationId": "templateRefundByTransferPost",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostAccountTransfersRefundByTransferRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostAccountTransfersRefundByTransferResponse"
}
}
}
}
},
"/accounttransfers": {
"get": {
"tags": [
"Account Transfers"
],
"summary": "List account transfers",
"description": "Lists account's transfers\n\nExample Requests:\n\n\n\naccounttransfers",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32",
"x-example": "limit"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "accountDetailId",
"in": "query",
"description": "accountDetailId",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountTransfersResponse"
}
}
}
},
"post": {
"tags": [
"Account Transfers"
],
"summary": "Create new Transfer",
"description": "Ability to create new transfer of monetary funds from one account to another.",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostAccountTransfersRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostAccountTransfersResponse"
}
}
}
}
},
"/accounttransfers/{transferId}": {
"get": {
"tags": [
"Account Transfers"
],
"summary": "Retrieve account transfer",
"description": "Retrieves account transfer\n\nExample Requests :\n\n\n\naccounttransfers/1",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "transferId",
"in": "path",
"description": "transferId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountTransfersPageItems"
}
}
}
}
},
"/accounttransfers/template": {
"get": {
"tags": [
"Account Transfers"
],
"summary": "Retrieve Account Transfer Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\n\n\nField Defaults\n\nAllowed Value Lists\n\nExample Requests:\n\n\n\naccounttransfers/template?fromAccountType=2&fromOfficeId=1\n\n\n\naccounttransfers/template?fromAccountType=2&fromOfficeId=1&fromClientId=1\n\n\n\naccounttransfers/template?fromClientId=1&fromAccountType=2&fromAccountId=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "fromOfficeId",
"in": "query",
"description": "fromOfficeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromClientId",
"in": "query",
"description": "fromClientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountId",
"in": "query",
"description": "fromAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountType",
"in": "query",
"description": "fromAccountType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "toOfficeId",
"in": "query",
"description": "toOfficeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toClientId",
"in": "query",
"description": "toClientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toAccountId",
"in": "query",
"description": "toAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toAccountType",
"in": "query",
"description": "toAccountType",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountTransfersTemplateResponse"
}
}
}
}
},
"/standinginstructions": {
"get": {
"tags": [
"Standing Instructions"
],
"summary": "List Standing Instructions",
"description": "Example Requests:\n\nstandinginstructions",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "transferType",
"in": "query",
"description": "transferType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "clientName",
"in": "query",
"description": "clientName",
"required": false,
"type": "string"
},
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountId",
"in": "query",
"description": "fromAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountType",
"in": "query",
"description": "fromAccountType",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetStandingInstructionsResponse"
}
}
}
},
"post": {
"tags": [
"Standing Instructions"
],
"summary": "Create new Standing Instruction",
"description": "Ability to create new instruction for transfer of monetary funds from one account to another",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostStandingInstructionsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostStandingInstructionsResponse"
}
}
}
}
},
"/standinginstructions/{standingInstructionId}": {
"get": {
"tags": [
"Standing Instructions"
],
"summary": "Retrieve Standing Instruction",
"description": "Example Requests :\n\nstandinginstructions/1",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "standingInstructionId",
"in": "path",
"description": "standingInstructionId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetStandingInstructionsStandingInstructionIdResponse"
}
}
}
},
"put": {
"tags": [
"Standing Instructions"
],
"summary": "Update Standing Instruction | Delete Standing Instruction",
"description": "Ability to modify existing instruction for transfer of monetary funds from one account to another.\n\nPUT https://DomainName/api/v1/standinginstructions/1?command=update\n\n\nAbility to modify existing instruction for transfer of monetary funds from one account to another.\n\nPUT https://DomainName/api/v1/standinginstructions/1?command=delete",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "standingInstructionId",
"in": "path",
"description": "standingInstructionId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": false,
"schema": {
"$ref": "#/definitions/PutStandingInstructionsStandingInstructionIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutStandingInstructionsStandingInstructionIdResponse"
}
}
}
}
},
"/standinginstructions/template": {
"get": {
"tags": [
"Standing Instructions"
],
"summary": "Retrieve Standing Instruction Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Requests:\n\nstandinginstructions/template?fromAccountType=2&fromOfficeId=1\n\nstandinginstructions/template?fromAccountType=2&fromOfficeId=1&fromClientId=1&transferType=1\n\nstandinginstructions/template?fromClientId=1&fromAccountType=2&fromAccountId=1&transferType=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "fromOfficeId",
"in": "query",
"description": "fromOfficeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromClientId",
"in": "query",
"description": "fromClientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountId",
"in": "query",
"description": "fromAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountType",
"in": "query",
"description": "fromAccountType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "toOfficeId",
"in": "query",
"description": "toOfficeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toClientId",
"in": "query",
"description": "toClientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toAccountId",
"in": "query",
"description": "toAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "toAccountType",
"in": "query",
"description": "toAccountType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "transferType",
"in": "query",
"description": "transferType",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetStandingInstructionsTemplateResponse"
}
}
}
}
},
"/standinginstructionrunhistory": {
"get": {
"tags": [
"Standing Instructions History"
],
"summary": "Standing Instructions Logged History",
"description": "The list capability of history can support pagination and sorting \n\nExample Requests :\n\nstandinginstructionrunhistory\n\nstandinginstructionrunhistory?orderBy=name&sortOrder=DESC\n\nstandinginstructionrunhistory?offset=10&limit=50",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "transferType",
"in": "query",
"description": "transferType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "clientName",
"in": "query",
"description": "clientName",
"required": false,
"type": "string"
},
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountId",
"in": "query",
"description": "fromAccountId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "fromAccountType",
"in": "query",
"description": "fromAccountType",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "locale",
"in": "query",
"description": "locale",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "query",
"description": "dateFormat",
"required": false,
"type": "string"
},
{
"name": "fromDate",
"in": "query",
"description": "fromDate",
"required": false,
"type": "string"
},
{
"name": "toDate",
"in": "query",
"description": "toDate",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetStandingInstructionRunHistoryResponse"
}
}
}
}
},
"/accounts/{type}": {
"get": {
"tags": [
"Share Account"
],
"summary": "List share applications/accounts",
"description": "Lists share applications/accounts\n\nExample Requests:\n\nshareaccount",
"operationId": "retrieveAllAccounts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountsTypeResponse"
}
}
}
},
"post": {
"tags": [
"Share Account"
],
"summary": "Submit new share application",
"description": "Submits new share application\n\nMandatory Fields: clientId, productId, submittedDate, savingsAccountId, requestedShares, applicationDate\n\nOptional Fields: accountNo, externalId\n\nInherited from Product (if not provided): minimumActivePeriod, minimumActivePeriodFrequencyType, lockinPeriodFrequency, lockinPeriodFrequencyType",
"operationId": "createAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostAccountsTypeRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostAccountsTypeResponse"
}
}
}
}
},
"/accounts/{type}/{accountId}": {
"get": {
"tags": [
"Share Account"
],
"summary": "Retrieve a share application/account",
"description": "Retrieves a share application/account\n\nExample Requests :\n\nshareaccount/1",
"operationId": "retrieveAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountsTypeAccountIdResponse"
}
}
}
},
"post": {
"tags": [
"Share Account"
],
"summary": "Approve share application | Undo approval share application | Reject share application | Activate a share account | Close a share account | Apply additional shares on a share account | Approve additional shares request on a share account | Reject additional shares request on a share account | Redeem shares on a share account",
"description": "Approve share application:\n\nApproves share application so long as its in 'Submitted and pending approval' state.\n\nUndo approval share application:\n\nWill move 'approved' share application back to 'Submitted and pending approval' state.\n\nReject share application:\n\nRejects share application so long as its in 'Submitted and pending approval' state.\n\nActivate a share account:\n\nResults in an approved share application being converted into an 'active' share account.\n\nClose a share account:\n\nResults in an Activated share application being converted into an 'closed' share account.\n\nclosedDate is closure date of share account\n\nMandatory Fields: dateFormat,locale,closedDate\n\nApply additional shares on a share account:\n\nrequestedDate is requsted date of share purchase\n\nrequestedShares is number of shares to be purchase\n\nMandatory Fields: dateFormat,locale,requestedDate, requestedShares\n\nApprove additional shares request on a share account\n\nrequestedShares is Share purchase transaction ids\n\nMandatory Fields: requestedShares\n\nReject additional shares request on a share account:\n\nrequestedShares is Share purchase transaction ids\n\nMandatory Fields: requestedShares\n\nRedeem shares on a share account:\n\nResults redeem some/all shares from share account.\n\nrequestedDate is requsted date of shares redeem\n\nrequestedShares is number of shares to be redeemed\n\nMandatory Fields: dateFormat,locale,requestedDate,requestedShares\n\nShowing request/response for 'Reject additional shares request on a share account'\n\nFor more info visit this link - https://demo.openmf.org/api-docs/apiLive.htm#shareaccounts",
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostAccountsTypeAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostAccountsTypeAccountIdResponse"
}
}
}
},
"put": {
"tags": [
"Share Account"
],
"summary": "Modify a share application",
"description": "Share application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc",
"operationId": "updateAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutAccountsTypeAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutAccountsTypeAccountIdResponse"
}
}
}
}
},
"/accounts/{type}/downloadtemplate": {
"get": {
"tags": [
"Share Account"
],
"operationId": "getSharedAccountsTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/accounts/{type}/uploadtemplate": {
"post": {
"tags": [
"Share Account"
],
"operationId": "postSharedAccountsTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/accounts/{type}/template": {
"get": {
"tags": [
"Share Account"
],
"summary": "Retrieve Share Account Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Requests:\n\naccounts/share/template?clientId=1\n\n\naccounts/share/template?clientId=1&productId=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountsTypeTemplateResponse"
}
}
}
}
},
"/fieldconfiguration/{entity}": {
"get": {
"tags": [
"Entity Field Configuration"
],
"summary": "Retrieves the Entity Field Configuration",
"description": "It retrieves all the Entity Field Configuration",
"operationId": "getAddresses",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "entity",
"in": "path",
"description": "entity",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetFieldConfigurationEntityResponse"
}
}
}
}
}
},
"/charges/{chargeId}": {
"get": {
"tags": [
"Charges"
],
"summary": "Retrieve a Charge",
"description": "Returns the details of a defined Charge.\n\nExample Requests:\n\ncharges/1",
"operationId": "retrieveCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetChargesResponse"
}
}
}
},
"put": {
"tags": [
"Charges"
],
"summary": "Update a Charge",
"description": "Updates the details of a Charge.",
"operationId": "updateCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutChargesChargeIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutChargesChargeIdResponse"
}
}
}
},
"delete": {
"tags": [
"Charges"
],
"summary": "Delete a Charge",
"description": "Deletes a Charge.",
"operationId": "deleteCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteChargesChargeIdResponse"
}
}
}
}
},
"/charges": {
"get": {
"tags": [
"Charges"
],
"summary": "Retrieve Charges",
"description": "Returns the list of defined charges.\n\nExample Requests:\n\ncharges",
"operationId": "retrieveAllCharges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetChargesResponse"
}
}
}
}
},
"post": {
"tags": [
"Charges"
],
"summary": "Create/Define a Charge",
"description": "Define a new charge that can later be associated with loans and savings through their respective product definitions or directly on each account instance.",
"operationId": "createCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostChargesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostChargesResponse"
}
}
}
}
},
"/charges/template": {
"get": {
"tags": [
"Charges"
],
"summary": "Retrieve Charge Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\ncharges/template\n",
"operationId": "retrieveNewChargeDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetChargesTemplateResponse"
}
}
}
}
},
"/client/{clientid}/addresses": {
"get": {
"tags": [
"Clients Address"
],
"summary": "List all addresses for a Client",
"description": "Example Requests:\n\nclient/1/addresses\n\n\nclients/1/addresses?status=false,true&&type=1,2,3",
"operationId": "getAddresses",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "status",
"in": "query",
"description": "status",
"required": false,
"type": "string"
},
{
"name": "type",
"in": "query",
"description": "type",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "clientid",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetClientClientIdAddressesResponse"
}
}
}
}
},
"post": {
"tags": [
"Clients Address"
],
"summary": "Create an address for a Client",
"description": "Mandatory Fields : \ntype and clientId",
"operationId": "AddClientAddress",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "query",
"description": "type",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "clientid",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostClientClientIdAddressesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostClientClientIdAddressesResponse"
}
}
}
},
"put": {
"tags": [
"Clients Address"
],
"summary": "Update an address for a Client",
"description": "All the address fields can be updated by using update client address API\n\nMandatory Fields\ntype and addressId",
"operationId": "UpdateClientAddress",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientid",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutClientClientIdAddressesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutClientClientIdAddressesResponse"
}
}
}
}
},
"/client/addresses/template": {
"get": {
"tags": [
"Clients Address"
],
"operationId": "getAddressesTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/clients/{clientId}/charges": {
"get": {
"tags": [
"Client Charges"
],
"summary": "List Client Charges",
"description": "The list capability of client charges supports pagination.Example Requests:\nclients/1/charges\n\nclients/1/charges?offset=0&limit=5",
"operationId": "retrieveAllClientCharges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
},
{
"name": "pendingPayment",
"in": "query",
"description": "pendingPayment",
"required": false,
"type": "boolean"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsClientIdChargesResponse"
}
}
}
},
"post": {
"tags": [
"Client Charges"
],
"summary": "Add Client Charge",
"description": " This API associates a Client charge with an implicit Client account\nMandatory Fields : \nchargeId and dueDate \nOptional Fields : \namount",
"operationId": "applyClientCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostClientsClientIdChargesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostClientsClientIdChargesResponse"
}
}
}
}
},
"/clients/{clientId}/charges/{chargeId}": {
"get": {
"tags": [
"Client Charges"
],
"summary": "Retrieve a Client Charge",
"description": "Example Requests:\nclients/1/charges/1\n\n\nclients/1/charges/1?fields=name,id",
"operationId": "retrieveClientCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetClientsChargesPageItems"
}
}
}
},
"post": {
"tags": [
"Client Charges"
],
"summary": "Pay a Client Charge | Waive a Client Charge",
"description": "Pay a Client Charge:\n\nMandatory Fields:transactionDate and amount \"Pay either a part of or the entire due amount for a charge.(command=paycharge)\n\nWaive a Client Charge:\n\n\nThis API provides the facility of waiving off the remaining amount on a client charge (command=waive)\n\nShowing request/response for 'Pay a Client Charge'",
"operationId": "payOrWaiveClientCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostClientsClientIdChargesChargeIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostClientsClientIdChargesChargeIdResponse"
}
}
}
},
"delete": {
"tags": [
"Client Charges"
],
"summary": "Delete a Client Charge",
"description": "Deletes a Client Charge on which no transactions have taken place (either payments or waivers). ",
"operationId": "deleteClientCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteClientsClientIdChargesChargeIdResponse"
}
}
}
}
},
"/clients/{clientId}/charges/template": {
"get": {
"tags": [
"Client Charges"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/clients/{clientId}/identifiers": {
"get": {
"tags": [
"Client Identifier"
],
"summary": "List all Identifiers for a Client",
"description": "Example Requests:\nclients/1/identifiers\n\n\nclients/1/identifiers?fields=documentKey,documentType,description",
"operationId": "retrieveAllClientIdentifiers",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetClientsClientIdIdentifiersResponse"
}
}
}
}
},
"post": {
"tags": [
"Client Identifier"
],
"summary": "Create an Identifier for a Client",
"description": "Mandatory Fields\ndocumentKey, documentTypeId ",
"operationId": "createClientIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostClientsClientIdIdentifiersRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostClientsClientIdIdentifiersResponse"
}
}
}
}
},
"/clients/{clientId}/identifiers/template": {
"get": {
"tags": [
"Client Identifier"
],
"summary": "Retrieve Client Identifier Details Template",
"description": "This is a convenience resource useful for building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\n Field Defaults\n Allowed Value Lists\n\n\nExample Request:\nclients/1/identifiers/template",
"operationId": "newClientIdentifierDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsClientIdIdentifiersTemplateResponse"
}
}
}
}
},
"/clients/{clientId}/identifiers/{identifierId}": {
"get": {
"tags": [
"Client Identifier"
],
"summary": "Retrieve a Client Identifier",
"description": "Example Requests:\nclients/1/identifier/2\n\n\nclients/1/identifier/2?template=true\n\nclients/1/identifiers/2?fields=documentKey,documentType,description",
"operationId": "retrieveClientIdentifiers",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "identifierId",
"in": "path",
"description": "identifierId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsClientIdIdentifiersResponse"
}
}
}
},
"put": {
"tags": [
"Client Identifier"
],
"summary": "Update a Client Identifier",
"description": "Updates a Client Identifier",
"operationId": "updateClientIdentifer",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "identifierId",
"in": "path",
"description": "identifierId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutClientsClientIdIdentifiersIdentifierIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutClientsClientIdIdentifiersIdentifierIdResponse"
}
}
}
},
"delete": {
"tags": [
"Client Identifier"
],
"summary": "Delete a Client Identifier",
"description": "Deletes a Client Identifier",
"operationId": "deleteClientIdentifier",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "identifierId",
"in": "path",
"description": "identifierId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteClientsClientIdIdentifiersIdentifierIdResponse"
}
}
}
}
},
"/clients/{clientId}/transactions": {
"get": {
"tags": [
"Client Transaction"
],
"summary": "List Client Transactions",
"description": "The list capability of client transaction can support pagination.\n\nExample Requests:\n\nclients/189/transactions\n\nclients/189/transactions?offset=10&limit=50",
"operationId": "retrieveAllClientTransactions",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsClientIdTransactionsResponse"
}
}
}
}
},
"/clients/{clientId}/transactions/{transactionId}": {
"get": {
"tags": [
"Client Transaction"
],
"summary": "Retrieve a Client Transaction",
"description": "Example Requests:\nclients/1/transactions/1\n\n\nclients/1/transactions/1?fields=id,officeName",
"operationId": "retrieveClientTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsClientIdTransactionsTransactionIdResponse"
}
}
}
},
"post": {
"tags": [
"Client Transaction"
],
"summary": "Undo a Client Transaction",
"description": "Undoes a Client Transaction",
"operationId": "undoClientTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostClientsClientIdTransactionsTransactionIdResponse"
}
}
}
}
},
"/clients/{clientId}/accounts": {
"get": {
"tags": [
"Client"
],
"summary": "Retrieve client accounts overview",
"description": "An example of how a loan portfolio summary can be provided. This is requested in a specific use case of the community application.\nIt is quite reasonable to add resources like this to simplify User Interface development.\n\nExample Requests:\n \nclients/1/accounts\n\nclients/1/accounts?fields=loanAccounts,savingsAccounts",
"operationId": "retrieveAssociatedAccounts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsClientIdAccountsResponse"
}
},
"400": {
"description": "Bad Request"
}
}
}
},
"/clients/downloadtemplate": {
"get": {
"tags": [
"Client"
],
"operationId": "getClientTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "legalFormType",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/clients/uploadtemplate": {
"post": {
"tags": [
"Client"
],
"operationId": "postClientTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "legalFormType",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/clients/{clientId}/obligeedetails": {
"get": {
"tags": [
"Client"
],
"operationId": "retrieveObligeeDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/clients/{clientId}/transferproposaldate": {
"get": {
"tags": [
"Client"
],
"operationId": "retrieveTransferTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/clients": {
"get": {
"tags": [
"Client"
],
"summary": "List Clients",
"description": "The list capability of clients can support pagination and sorting.\n\nExample Requests:\n\nclients\n\nclients?fields=displayName,officeName,timeline\n\nclients?offset=10&limit=50\n\nclients?orderBy=displayName&sortOrder=DESC",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "displayName",
"in": "query",
"description": "displayName",
"required": false,
"type": "string"
},
{
"name": "firstName",
"in": "query",
"description": "firstName",
"required": false,
"type": "string"
},
{
"name": "lastName",
"in": "query",
"description": "lastName",
"required": false,
"type": "string"
},
{
"name": "underHierarchy",
"in": "query",
"description": "underHierarchy",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "orphansOnly",
"in": "query",
"description": "orphansOnly",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsResponse"
}
}
}
},
"post": {
"tags": [
"Client"
],
"summary": "Create a Client",
"description": "Note:\n\n1. You can enter either:firstname/middlename/lastname - for a person (middlename is optional) OR fullname - for a business or organisation (or person known by one name).\n\n2.If address is enable(enable-address=true), then additional field called address has to be passed.\n\nMandatory Fields: firstname and lastname OR fullname, officeId, active=true and activationDate OR active=false, if(address enabled) address\n\nOptional Fields: groupId, externalId, accountNo, staffId, mobileNo, savingsProductId, genderId, clientTypeId, clientClassificationId",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostClientsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostClientsResponse"
}
}
}
}
},
"/clients/{clientId}": {
"get": {
"tags": [
"Client"
],
"summary": "Retrieve a Client",
"description": "Example Requests:\n\nclients/1\n\n\nclients/1?template=true\n\n\nclients/1?fields=id,displayName,officeName",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsClientIdResponse"
}
}
}
},
"post": {
"tags": [
"Client"
],
"summary": "Activate a Client | Close a Client | Reject a Client | Withdraw a Client | Reactivate a Client | UndoReject a Client | UndoWithdraw a Client | Assign a Staff | Unassign a Staff | Update Default Savings Account | Propose a Client Transfer | Withdraw a Client Transfer | Reject a Client Transfer | Accept a Client Transfer | Propose and Accept a Client Transfer",
"description": "Activate a Client:\n\nClients can be created in a Pending state. This API exists to enable client activation (for when a client becomes an approved member of the financial Institution).\n\nIf the client happens to be already active this API will result in an error.\n\nClose a Client:\n\nClients can be closed if they do not have any non-closed loans/savingsAccount. This API exists to close a client .\n\nIf the client have any active loans/savingsAccount this API will result in an error.\n\nReject a Client:\n\nClients can be rejected when client is in pending for activation status.\n\nIf the client is any other status, this API throws an error.\n\nMandatory Fields: rejectionDate, rejectionReasonId\n\nWithdraw a Client:\n\nClient applications can be withdrawn when client is in a pending for activation status.\n\nIf the client is any other status, this API throws an error.\n\nMandatory Fields: withdrawalDate, withdrawalReasonId\n\nReactivate a Client: Clients can be reactivated after they have been closed.\n\nTrying to reactivate a client in any other state throws an error.\n\nMandatory Fields: reactivationDate\n\nUndoReject a Client:\n\nClients can be reactivated after they have been rejected.\n\nTrying to reactivate a client in any other state throws an error.\n\nMandatory Fields: reopenedDateUndoWithdraw a Client:\n\nClients can be reactivated after they have been withdrawn.\n\nTrying to reactivate a client in any other state throws an error.\n\nMandatory Fields: reopenedDate\n\nAssign a Staff:\n\nAllows you to assign a Staff for existed Client.\n\nThe selected Staff should belong to the same office (or an officer higher up in the hierarchy) as the Client he manages.\n\nUnassign a Staff:\n\nAllows you to unassign the Staff assigned to a Client.\n\nUpdate Default Savings Account:\n\nAllows you to modify or assign a default savings account for an existing Client.\n\nThe selected savings account should be one among the existing savings account for a particular customer.\n\nPropose a Client Transfer:\n\nAllows you to propose the transfer of a Client to a different Office.\n\nWithdraw a Client Transfer:\n\nAllows you to withdraw the proposed transfer of a Client to a different Office.\n\nWithdrawal can happen only if the destination Branch (to which the transfer was proposed) has not already accepted the transfer proposal\n\nReject a Client Transfer:\n\nAllows the Destination Branch to reject the proposed Client Transfer.\n\nAccept a Client Transfer:\n\nAllows the Destination Branch to accept the proposed Client Transfer.\n\nThe destination branch may also choose to link this client to a group (in which case, any existing active JLG loan of the client is rescheduled to match the meeting frequency of the group) and loan Officer at the time of accepting the transfer\n\nPropose and Accept a Client Transfer:\n\nAbstraction over the Propose and Accept Client Transfer API's which enable a user with Data Scope over both the Target and Destination Branches to directly transfer a Client to the destination Office.\n\nShowing request/response for 'Reject a Client Transfer'",
"operationId": "activate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostClientsClientIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostClientsClientIdResponse"
}
}
}
},
"put": {
"tags": [
"Client"
],
"summary": "Update a Client",
"description": "Note: You can update any of the basic attributes of a client (but not its associations) using this API.\n\nChanging the relationship between a client and its office is not supported through this API. An API specific to handling transfers of clients between offices is available for the same.\n\nThe relationship between a client and a group must be removed through the Groups API.",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutClientsClientIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutClientsClientIdResponse"
}
}
}
},
"delete": {
"tags": [
"Client"
],
"summary": "Delete a Client",
"description": "If a client is in Pending state, you are allowed to Delete it. The delete is a 'hard delete' and cannot be recovered from. Once clients become active or have loans or savings associated with them, you cannot delete the client but you may Close the client if they have left the program.",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/DeleteClientsClientIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteClientsClientIdResponse"
}
}
}
}
},
"/clients/template": {
"get": {
"tags": [
"Client"
],
"summary": "Retrieve Client Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Request:\n\nclients/template",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "commandParam",
"in": "query",
"description": "commandParam",
"required": false,
"type": "string"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetClientsTemplateResponse"
}
}
}
}
},
"/loans/{loanId}/collaterals/template": {
"get": {
"tags": [
"Loan Collateral"
],
"summary": "Retrieve Collateral Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nloans/1/collaterals/template",
"operationId": "newCollateralTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansLoanIdCollateralsTemplateResponse"
}
}
}
}
},
"/loans/{loanId}/collaterals": {
"get": {
"tags": [
"Loan Collateral"
],
"summary": "List Loan Collaterals",
"description": "Example Requests:\n\nloans/1/collaterals\n\n\nloans/1/collaterals?fields=value,description",
"operationId": "retrieveCollateralDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetLoansLoanIdCollateralsResponse"
}
}
}
}
},
"post": {
"tags": [
"Loan Collateral"
],
"summary": "Create a Collateral",
"description": "Note: Currently, Collaterals may be added only before a Loan is approved",
"operationId": "createCollateral",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansLoanIdCollateralsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansLoanIdCollateralsResponse"
}
}
}
}
},
"/loans/{loanId}/collaterals/{collateralId}": {
"get": {
"tags": [
"Loan Collateral"
],
"summary": "Retrieve a Collateral",
"description": "Example Requests:\n\n/loans/1/collaterals/1\n\n\n/loans/1/collaterals/1?fields=value,description",
"operationId": "retrieveCollateralDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "collateralId",
"in": "path",
"description": "collateralId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansLoanIdCollateralsResponse"
}
}
}
},
"put": {
"tags": [
"Loan Collateral"
],
"summary": "Update a Collateral",
"description": "",
"operationId": "updateCollateral",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "collateralId",
"in": "path",
"description": "collateralId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutLoansLoandIdCollateralsCollateralIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutLoansLoanIdCollateralsCollateralIdResponse"
}
}
}
},
"delete": {
"tags": [
"Loan Collateral"
],
"summary": "Remove a Collateral",
"description": "Note: A collateral can only be removed from Loans that are not yet approved.",
"operationId": "deleteCollateral",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "collateralId",
"in": "path",
"description": "collateralId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteLoansLoanIdCollateralsCollateralIdResponse"
}
}
}
}
},
"/collectionsheet": {
"post": {
"tags": [
"Collection Sheet"
],
"summary": "Generate Individual Collection Sheet | Save Collection Sheet",
"description": "Generate Individual Collection Sheet:\n\nThis Api retrieves repayment details of all individual loans under a office as on a specified meeting date.\n\nSave Collection Sheet:\n\nThis Api allows the loan officer to perform bulk repayments of individual loans and deposit of mandatory savings on a given meeting date.",
"operationId": "generateCollectionSheet",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostCollectionSheetRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostCollectionSheetResponse"
}
}
}
}
},
"/floatingrates": {
"get": {
"tags": [
"Floating Rates"
],
"summary": "List Floating Rates",
"description": "Lists Floating Rates",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetFloatingRatesResponse"
}
}
}
}
},
"post": {
"tags": [
"Floating Rates"
],
"summary": "Create a new Floating Rate",
"description": "Creates a new Floating Rate\nMandatory Fields: name\nOptional Fields: isBaseLendingRate, isActive, ratePeriods",
"operationId": "createFloatingRate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostFloatingRatesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostFloatingRatesResponse"
}
}
}
}
},
"/floatingrates/{floatingRateId}": {
"get": {
"tags": [
"Floating Rates"
],
"summary": "Retrieve Floating Rate",
"description": "Retrieves Floating Rate",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "floatingRateId",
"in": "path",
"description": "floatingRateId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetFloatingRatesFloatingRateIdResponse"
}
}
}
},
"put": {
"tags": [
"Floating Rates"
],
"summary": "Update Floating Rate",
"description": "Updates new Floating Rate. Rate Periods in the past cannot be modified. All the future rateperiods would be replaced with the new ratePeriods data sent.",
"operationId": "updateFloatingRate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "floatingRateId",
"in": "path",
"description": "floatingRateId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutFloatingRatesFloatingRateIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutFloatingRatesFloatingRateIdResponse"
}
}
}
}
},
"/funds": {
"get": {
"tags": [
"Funds"
],
"summary": "Retrieve Funds",
"description": "Returns the list of funds.\n\nExample Requests:\n\nfunds",
"operationId": "retrieveFunds",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetFundsResponse"
}
}
}
}
},
"post": {
"tags": [
"Funds"
],
"summary": "Create a Fund",
"description": "Creates a Fund",
"operationId": "createFund",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostFundsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostFundsResponse"
}
}
}
}
},
"/funds/{fundId}": {
"get": {
"tags": [
"Funds"
],
"summary": "Retrieve a Fund",
"description": "Returns the details of a Fund.\n\nExample Requests:\n\nfunds/1",
"operationId": "retreiveFund",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "fundId",
"in": "path",
"description": "fundId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetFundsResponse"
}
}
}
},
"put": {
"tags": [
"Funds"
],
"summary": "Update a Fund",
"description": "Updates the details of a fund.",
"operationId": "updateFund",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "fundId",
"in": "path",
"description": "fundId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutFundsFundIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutFundsFundIdResponse"
}
}
}
}
},
"/centers/{centerId}/accounts": {
"get": {
"tags": [
"Centers"
],
"summary": "Retrieve Center accounts overview",
"description": "An example of how a savings summary for a Center can be provided. This is requested in a specific use case of the reference application.\n\nIt is quite reasonable to add resources like this to simplify User Interface development.\n\n\n\nExample Requests:\n\n\n\ncenters/9/accounts",
"operationId": "retrieveGroupAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "centerId",
"in": "path",
"description": "centerId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetCentersCenterIdAccountsResponse"
}
}
}
}
},
"/centers/downloadtemplate": {
"get": {
"tags": [
"Centers"
],
"operationId": "getCentersTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/centers/uploadtemplate": {
"post": {
"tags": [
"Centers"
],
"operationId": "postCentersTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/centers": {
"get": {
"tags": [
"Centers"
],
"summary": "List Centers",
"description": "The default implementation supports pagination and sorting with the default pagination size set to 200 records. The parameter limit with value -1 will return all entries.\n\nExample Requests:\n\n\n\ncenters\n\n\n\ncenters?fields=name,officeName,joinedDate\n\n\n\ncenters?offset=10&limit=50\n\n\n\ncenters?orderBy=name&sortOrder=DESC",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"description": "staffId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "name",
"required": false,
"type": "string"
},
{
"name": "underHierarchy",
"in": "query",
"description": "underHierarchy",
"required": false,
"type": "string"
},
{
"name": "paged",
"in": "query",
"description": "paged",
"required": false,
"type": "boolean"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "meetingDate",
"in": "query",
"description": "meetingDate",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "query",
"description": "dateFormat",
"required": false,
"type": "string"
},
{
"name": "locale",
"in": "query",
"description": "locale",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetCentersResponse"
}
}
}
},
"post": {
"tags": [
"Centers"
],
"summary": "Create a Center",
"description": "Creates a Center\n\nMandatory Fields: name, officeId, active, activationDate (if active=true)\n\nOptional Fields: externalId, staffId, groupMembers",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostCentersRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostCentersResponse"
}
}
}
}
},
"/centers/{centerId}": {
"get": {
"tags": [
"Centers"
],
"summary": "Retrieve a Center",
"description": "Retrieves a Center\n\nExample Requests:\n\n\n\ncenters/1\n\n\n\ncenters/1?associations=groupMembers",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "centerId",
"in": "path",
"description": "centerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetCentersCenterIdResponse"
}
}
}
},
"post": {
"tags": [
"Centers"
],
"summary": "Activate a Center | Generate Collection Sheet | Save Collection Sheet | Close a Center | Associate Groups | Disassociate Groups",
"description": "Activate a Center:\n\nCenters can be created in a Pending state. This API exists to enable center activation. If the center happens to be already active, this API will result in an error.\n\nClose a Center:\n\nCenters can be closed if they don't have any non-closed groups or saving accounts. If the Center has any active groups or savings accounts, this API will result in an error.\n\nAssociate Groups:\n\nThis API allows associating existing groups to a center. The groups are listed from the office to which the center is associated. If group(s) is already associated with a center, this API will result in an error.\n\nDisassociate Groups:\n\nThis API allows to disassociate groups from a center.\n\nGenerate Collection Sheet:\n\nThis Api retrieves repayment details of all jlg loans under a center as on a specified meeting date.\n\nSave Collection Sheet:\n\nThis Api allows the loan officer to perform bulk repayments of JLG loans for a center on a given meeting date.\n\nShowing Request/Response for Close a Center",
"operationId": "activate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "centerId",
"in": "path",
"description": "centerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostCentersCenterIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostCentersCenterIdResponse"
}
}
}
},
"put": {
"tags": [
"Centers"
],
"summary": "Update a Center",
"description": "Updates a Center",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "centerId",
"in": "path",
"description": "centerId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutCentersCenterIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutCentersCenterIdResponse"
}
}
}
},
"delete": {
"tags": [
"Centers"
],
"summary": "Delete a Center",
"description": "A Center can be deleted if it is in pending state and has no association - groups, loans or savings",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "centerId",
"in": "path",
"description": "centerId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteCentersCenterIdResponse"
}
}
}
}
},
"/centers/template": {
"get": {
"tags": [
"Centers"
],
"summary": "Retrieve a Center Template",
"description": "Retrieves a Center Template\n\nExample Requests:\n\n\n\ncenters/template\n\n\n\ncenters/template?officeId=2",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetCentersTemplateResponse"
}
}
}
}
},
"/groups/{groupId}/command/unassign_staff": {
"post": {
"tags": [
"Groups"
],
"summary": "Unassign a Staff",
"description": "Allows you to unassign the Staff.\n\nMandatory Fields: staffId",
"operationId": "unassignLoanOfficer",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "groupId",
"in": "path",
"description": "groupId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostGroupsGroupIdCommandUnassignStaffRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostGroupsGroupIdCommandUnassignStaffResponse"
}
}
}
}
},
"/groups/{groupId}": {
"get": {
"tags": [
"Groups"
],
"summary": "Retrieve a Group",
"description": "Retrieve group information.\n\nExample Requests:\n\n\n\ngroups/1\n\n\n\ngroups/1?associations=clientMembers",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "groupId",
"in": "path",
"description": "groupId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "roleId",
"in": "query",
"description": "roleId",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetGroupsGroupIdResponse"
}
}
}
},
"post": {
"tags": [
"Groups"
],
"summary": "Activate a Group | Associate Clients | Disassociate Clients | Transfer Clients across groups | Generate Collection Sheet | Save Collection Sheet | Unassign a Staff | Assign a Staff | Close a Group | Unassign a Role | Update a Role",
"description": "Activate a Group:\n\nGroups can be created in a Pending state. This API exists to enable group activation.\n\n\n\nIf the group happens to be already active this API will result in an error.\n\nMandatory Fields: activationDate\n\nAssociate Clients:\n\nThis API allows to associate existing clients to a group.\n\n\n\nThe clients are listed from the office to which the group is associated.\n\n\n\nIf client(s) is already associated with group then API will result in an error.\n\nMandatory Fields: clientMembers\n\nDisassociate Clients:\n\nThis API allows to disassociate clients from a group.\n\n\n\nDisassociating a client with active joint liability group loans results in an error.\n\nMandatory Fields: clientMembers\n\nTransfer Clients across groups:\n\nThis API allows to transfer clients from one group to another\n\nMandatory Fields: destinationGroupId and clients\n\nOptional Fields: inheritDestinationGroupLoanOfficer (defaults to true) and transferActiveLoans (defaults to true)\n\nGenerate Collection Sheet:\n\nThis API retrieves repayment details of all jlg loans of all members of a group on a specified meeting date.\n\nMandatory Fields: calendarId and transactionDate\n\nSave Collection Sheet:\n\nThis api allows the loan officer to perform bulk repayments of JLG loans for a group on its meeting date.\n\nMandatory Fields: calendarId, transactionDate, actualDisbursementDate\n\nOptional Fields: clientsAttendance, bulkRepaymentTransaction, bulkDisbursementTransactions\n\nUnassign a Staff:\n\nAllows you to unassign the Staff.\n\nMandatory Fields: staffId\n\nAssign a Staff:\n\nAllows you to assign Staff to an existing Group.\n\n\n\nThe selected Staff should be belong to the same office (or an office higher up in the hierarchy) as this groupMandatory Fields: staffId\n\nOptional Fields: inheritStaffForClientAccounts (Optional: Boolean if true all members of the group (i.e all clients with active loans and savings ) will inherit the staffId)\n\nClose a Group:\n\nThis API exists to close a group. Groups can be closed if they don't have any non-closed clients/loans/savingsAccounts.\n\n\n\nIf the group has any active clients/loans/savingsAccount, this API will result in an error.Assign a Role:\n\nAllows you to assign a Role to an existing member of a group.\n\n\n\nWe can define the different roles applicable to group members by adding code values to the pre-defined system code GROUPROLE. Example:Group leader etc.\n\nMandatory Fields: clientId, role\n\nUnassign a Role:\n\nAllows you to unassign Roles associated tp Group members.\n\nUpdate a Role:\n\nAllows you to update the member Role.\n\nMandatory Fields: role\n\nShowing request/response for Transfer Clients across groups",
"operationId": "activateOrGenerateCollectionSheet",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "groupId",
"in": "path",
"description": "groupId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"name": "roleId",
"in": "query",
"description": "roleId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostGroupsGroupIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostGroupsGroupIdResponse"
}
}
}
},
"put": {
"tags": [
"Groups"
],
"summary": "Update a Group",
"description": "Updates a Group",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "groupId",
"in": "path",
"description": "groupId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutGroupsGroupIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutGroupsGroupIdResponse"
}
}
}
},
"delete": {
"tags": [
"Groups"
],
"summary": "Delete a Group",
"description": "A group can be deleted if it is in pending state and has no associations - clients, loans or savings",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "groupId",
"in": "path",
"description": "groupId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteGroupsGroupIdResponse"
}
}
}
}
},
"/groups/{groupId}/accounts": {
"get": {
"tags": [
"Groups"
],
"summary": "Retrieve Group accounts overview",
"description": "Retrieves details of all Loan and Savings accounts associated with this group.\n\n\n\nExample Requests:\n\n\n\ngroups/1/accounts\n\n\n\n\n\ngroups/1/accounts?fields=loanAccounts,savingsAccounts,memberLoanAccounts,\n\nmemberSavingsAccounts",
"operationId": "retrieveAccounts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "groupId",
"in": "path",
"description": "groupId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetGroupsGroupIdAccountsResponse"
}
}
}
}
},
"/groups/downloadtemplate": {
"get": {
"tags": [
"Groups"
],
"operationId": "getGroupsTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/groups/uploadtemplate": {
"post": {
"tags": [
"Groups"
],
"operationId": "postGroupTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/groups": {
"get": {
"tags": [
"Groups"
],
"summary": "List Groups",
"description": "The default implementation of listing Groups returns 200 entries with support for pagination and sorting. Using the parameter limit with value -1 returns all entries.\n\nExample Requests:\n\n\n\ngroups\n\n\n\ngroups?fields=name,officeName,joinedDate\n\n\n\ngroups?offset=10&limit=50\n\n\n\ngroups?orderBy=name&sortOrder=DESC",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"description": "staffId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "name",
"in": "query",
"description": "name",
"required": false,
"type": "string"
},
{
"name": "underHierarchy",
"in": "query",
"description": "underHierarchy",
"required": false,
"type": "string"
},
{
"name": "paged",
"in": "query",
"description": "paged",
"required": false,
"type": "boolean"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "orphansOnly",
"in": "query",
"description": "orphansOnly",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetGroupsResponse"
}
}
}
},
"post": {
"tags": [
"Groups"
],
"summary": "Create a Group",
"description": "Creates a Group\n\nMandatory Fields: name, officeId, active, activationDate (if active=true)\n\nOptional Fields: externalId, staffId, clientMembers",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostGroupsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostGroupsResponse"
}
}
}
}
},
"/groups/template": {
"get": {
"tags": [
"Groups"
],
"summary": "Retrieve Group Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\n\n\nField Defaults\n\nAllowed Value Lists\n\nExample Requests:\n\n\n\ngroups/template\n\n\n\ngroups/template?officeId=2\n\n\n\ngroups/template?centerId=1\n\n\n\ngroups/template?centerId=1&staffInSelectedOfficeOnly=true",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"description": "officeId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "center",
"in": "query",
"description": "center",
"required": false,
"type": "boolean"
},
{
"name": "centerId",
"in": "query",
"description": "centerId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetGroupsTemplateResponse"
}
}
}
}
},
"/interestratecharts/{chartId}/chartslabs": {
"get": {
"tags": [
"Interest Rate Slab (A.K.A interest bands)"
],
"summary": "Retrieve all Slabs",
"description": "Retrieve list of slabs associated with a chart\n\nExample Requests:\n\ninterestratecharts/1/chartslabs",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetInterestRateChartsChartIdChartSlabsResponse"
}
}
}
}
},
"post": {
"tags": [
"Interest Rate Slab (A.K.A interest bands)"
],
"summary": "Create a Slab",
"description": "Creates a new interest rate slab for an interest rate chart.\nMandatory Fields\nperiodType, fromPeriod, annualInterestRate\nOptional Fields\ntoPeriod and description\nExample Requests:\n\ninterestratecharts/1/chartslabs",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostInterestRateChartsChartIdChartSlabsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostInterestRateChartsChartIdChartSlabsResponse"
}
}
}
}
},
"/interestratecharts/{chartId}/chartslabs/{chartSlabId}": {
"get": {
"tags": [
"Interest Rate Slab (A.K.A interest bands)"
],
"summary": "Retrieve a Slab",
"description": "Retrieve a slab associated with an Interest rate chart\n\nExample Requests:\n\ninterestratecharts/1/chartslabs/1\n",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chartSlabId",
"in": "path",
"description": "chartSlabId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetInterestRateChartsChartIdChartSlabsResponse"
}
}
}
},
"put": {
"tags": [
"Interest Rate Slab (A.K.A interest bands)"
],
"summary": "Update a Slab",
"description": "It updates the Slab from chart",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chartSlabId",
"in": "path",
"description": "chartSlabId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutInterestRateChartsChartIdChartSlabsChartSlabIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutInterestRateChartsChartIdChartSlabsChartSlabIdResponse"
}
}
}
},
"delete": {
"tags": [
"Interest Rate Slab (A.K.A interest bands)"
],
"summary": "Delete a Slab",
"description": "Delete a Slab from a chart",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chartSlabId",
"in": "path",
"description": "chartSlabId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteInterestRateChartsChartIdChartSlabsResponse"
}
}
}
}
},
"/interestratecharts/{chartId}/chartslabs/template": {
"get": {
"tags": [
"Interest Rate Slab (A.K.A interest bands)"
],
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/interestratecharts": {
"get": {
"tags": [
"Interest Rate Chart"
],
"summary": "Retrieve all Charts",
"description": "Retrieve list of charts associated with a term deposit product(FD or RD).\nExample Requests:\n\ninterestratecharts?productId=1",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetInterestRateChartsResponse"
}
}
}
}
},
"post": {
"tags": [
"Interest Rate Chart"
],
"summary": "Create a Chart",
"description": "Creates a new chart which can be attached to a term deposit products (FD or RD).",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostInterestRateChartsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostInterestRateChartsResponse"
}
}
}
}
},
"/interestratecharts/{chartId}": {
"get": {
"tags": [
"Interest Rate Chart"
],
"summary": "Retrieve a Chart",
"description": "It retrieves the Interest Rate Chart\nExample Requests:\n\ninterestratecharts/1",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetInterestRateChartsResponse"
}
}
}
},
"put": {
"tags": [
"Interest Rate Chart"
],
"summary": "Update a Chart",
"description": "It updates the Chart.",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutInterestRateChartsChartIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutInterestRateChartsChartIdResponse"
}
}
}
},
"delete": {
"tags": [
"Interest Rate Chart"
],
"summary": "Delete a Chart",
"description": "It deletes the chart",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "chartId",
"in": "path",
"description": "chartId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteInterestRateChartsChartIdResponse"
}
}
}
}
},
"/interestratecharts/template": {
"get": {
"tags": [
"Interest Rate Chart"
],
"summary": "Retrieve Chart Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for creating a chart. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\ninterestratecharts/template",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetInterestRateChartsTemplateResponse"
}
}
}
}
},
"/loans/{loanId}/charges/{chargeId}": {
"get": {
"tags": [
"Loan Charges"
],
"summary": "Retrieve a Loan Charge",
"description": "Retrieves Loan Charge according to the Loan ID and Charge IDExample Requests:\n\n/loans/1/charges/1\n\n\n/loans/1/charges/1?fields=name,amountOrPercentage",
"operationId": "retrieveLoanCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansLoanIdChargesChargeIdResponse"
}
}
}
},
"post": {
"tags": [
"Loan Charges"
],
"summary": "Pay Loan Charge",
"description": "Loan Charge will be paid if the loan is linked with a savings account",
"operationId": "executeLoanCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansLoanIdChargesChargeIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansLoanIdChargesChargeIdResponse"
}
}
}
},
"put": {
"tags": [
"Loan Charges"
],
"summary": "Update a Loan Charge",
"description": "Currently Loan Charges may be updated only if the Loan is not yet approved",
"operationId": "updateLoanCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutLoansLoanIdChargesChargeIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutLoansLoanIdChargesChargeIdResponse"
}
}
}
},
"delete": {
"tags": [
"Loan Charges"
],
"summary": "Delete a Loan Charge",
"description": "Note: Currently, A Loan Charge may only be removed from Loans that are not yet approved.",
"operationId": "deleteLoanCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteLoansLoanIdChargesChargeIdResponse"
}
}
}
}
},
"/loans/{loanId}/charges": {
"get": {
"tags": [
"Loan Charges"
],
"summary": "List Loan Charges",
"description": "It lists all the Loan Charges specific to a Loan \n\nExample Requests:\n\nloans/1/charges\n\n\nloans/1/charges?fields=name,amountOrPercentage",
"operationId": "retrieveAllLoanCharges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetLoansLoanIdChargesChargeIdResponse"
}
}
}
}
},
"post": {
"tags": [
"Loan Charges"
],
"summary": "Create a Loan Charge",
"description": "It Creates a Loan Charge",
"operationId": "executeLoanCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansLoanIdChargesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansLoanIdChargesResponse"
}
}
}
}
},
"/loans/{loanId}/charges/template": {
"get": {
"tags": [
"Loan Charges"
],
"summary": "Retrieve Loan Charges Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nloans/1/charges/template\n\n",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansLoanIdChargesTemplateResponse"
}
}
}
}
},
"/loans/{loanId}/schedule": {
"post": {
"tags": [
"Loan Rescheduling"
],
"summary": "Calculate loan repayment schedule based on Loan term variations | Updates loan repayment schedule based on Loan term variations | Updates loan repayment schedule by removing Loan term variations",
"description": "Calculate loan repayment schedule based on Loan term variations:\n\nMandatory Fields: exceptions,locale,dateFormat\n\nUpdates loan repayment schedule based on Loan term variations:\n\nMandatory Fields: exceptions,locale,dateFormat\n\nUpdates loan repayment schedule by removing Loan term variations:\n\nIt updates the loan repayment schedule by removing Loan term variations\n\nShowing request/response for 'Updates loan repayment schedule by removing Loan term variations'",
"operationId": "calculateLoanScheduleOrSubmitVariableSchedule",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansLoanIdScheduleRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansLoanIdScheduleResponse"
}
}
}
}
},
"/loans/{loanId}/transactions/{transactionId}": {
"get": {
"tags": [
"Loan Transactions"
],
"summary": "Retrieve a Transaction Details",
"description": "Retrieves a Transaction Details\n\nExample Request:\n\nloans/5/transactions/3",
"operationId": "retrieveTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansLoanIdTransactionsTransactionIdResponse"
}
}
}
},
"post": {
"tags": [
"Loan Transactions"
],
"summary": "Adjust a Transaction",
"description": "Note: there is no need to specify command={transactionType} parameter.\n\nMandatory Fields: transactionDate, transactionAmount",
"operationId": "adjustLoanTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansLoanIdTransactionsTransactionIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansLoanIdTransactionsTransactionIdResponse"
}
}
}
}
},
"/loans/{loanId}/transactions/template": {
"get": {
"tags": [
"Loan Transactions"
],
"summary": "Retrieve Loan Transaction Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Request:\n\nloans/1/transactions/template?command=repayment",
"operationId": "retrieveTransactionTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "query",
"description": "dateFormat",
"required": false,
"type": "string"
},
{
"name": "transactionDate",
"in": "query",
"description": "transactionDate",
"required": false,
"type": "string"
},
{
"name": "locale",
"in": "query",
"description": "locale",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansLoanIdTransactionsTemplateResponse"
}
}
}
}
},
"/loans/{loanId}/transactions": {
"post": {
"tags": [
"Loan Transactions"
],
"summary": "Make a Repayment | Make a Refund of an Active Loan by Cash | Foreclosure of an Active Loan | Waive Interest | Write-off Loan | Make Recovery Payment | Undo Loan Write-off Transaction",
"description": "Make Recovery Payment:\n\nThis API allows collecting recovery payments for written-off loans",
"operationId": "executeLoanTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansLoanIdTransactionsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansLoanIdTransactionsResponse"
}
}
}
}
},
"/loans/{loanId}/template": {
"get": {
"tags": [
"Loans"
],
"operationId": "retrieveApprovalTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "templateType",
"in": "query",
"description": "templateType",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/loans/{loanId}": {
"get": {
"tags": [
"Loans"
],
"summary": "Retrieve a Loan",
"description": "Note: template=true parameter doesn't apply to this resource.Example Requests:\n\nloans/1\n\n\nloans/1?fields=id,principal,annualInterestRate\n\n\nloans/1?associations=all\n\nloans/1?associations=all&exclude=guarantors\n\n\nloans/1?fields=id,principal,annualInterestRate&associations=repaymentSchedule,transactions",
"operationId": "retrieveLoan",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansLoanIdResponse"
}
}
}
},
"post": {
"tags": [
"Loans"
],
"summary": "Approve Loan Application | Recover Loan Guarantee | Undo Loan Application Approval | Assign a Loan Officer | Unassign a Loan Officer | Reject Loan Application | Applicant Withdraws from Loan Application | Disburse Loan Disburse Loan To Savings Account | Undo Loan Disbursal",
"description": "Approve Loan Application:\nMandatory Fields: approvedOnDate\nOptional Fields: approvedLoanAmount and expectedDisbursementDate\nApproves the loan application\n\nRecover Loan Guarantee:\nRecovers the loan guarantee\n\nUndo Loan Application Approval:\nUndoes the Loan Application Approval\n\nAssign a Loan Officer:\nAllows you to assign Loan Officer for existing Loan.\n\nUnassign a Loan Officer:\nAllows you to unassign the Loan Officer.\n\nReject Loan Application:\nMandatory Fields: rejectedOnDate\nAllows you to reject the loan application\n\nApplicant Withdraws from Loan Application:\nMandatory Fields: withdrawnOnDate\nAllows the applicant to withdraw the loan application\n\nDisburse Loan:\nMandatory Fields: actualDisbursementDate\nOptional Fields: transactionAmount and fixedEmiAmount\nDisburses the Loan\n\nDisburse Loan To Savings Account:\nMandatory Fields: actualDisbursementDate\nOptional Fields: transactionAmount and fixedEmiAmount\nDisburses the loan to Saving Account\n\nUndo Loan Disbursal:\nUndoes the Loan Disbursal\nShowing request and response for Assign a Loan Officer",
"operationId": "stateTransitions",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansLoanIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansLoanIdResponse"
}
}
}
},
"put": {
"tags": [
"Loans"
],
"summary": "Modify a loan application",
"description": "Loan application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method.",
"operationId": "modifyLoanApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutLoansLoanIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutLoansLoanIdResponse"
}
}
}
},
"delete": {
"tags": [
"Loans"
],
"summary": "Delete a Loan Application",
"description": "Note: Only loans in \"Submitted and awaiting approval\" status can be deleted.",
"operationId": "deleteLoanApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteLoansLoanIdResponse"
}
}
}
}
},
"/loans": {
"get": {
"tags": [
"Loans"
],
"summary": "List Loans",
"description": "The list capability of loans can support pagination and sorting.\nExample Requests:\n\nloans\n\nloans?fields=accountNo\n\nloans?offset=10&limit=50\n\nloans?orderBy=accountNo&sortOrder=DESC",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
},
{
"name": "accountNo",
"in": "query",
"description": "accountNo",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansResponse"
}
}
}
},
"post": {
"tags": [
"Loans"
],
"summary": "Calculate loan repayment schedule | Submit a new Loan Application",
"description": "It calculates the loan repayment Schedule\nSubmits a new loan application\nMandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType\nOptional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true)\nAdditional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate\nAdditional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate\nAdditional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables",
"operationId": "calculateLoanScheduleOrSubmitLoanApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoansRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoansResponse"
}
}
}
}
},
"/loans/downloadtemplate": {
"get": {
"tags": [
"Loans"
],
"operationId": "getLoansTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/loans/repayments/downloadtemplate": {
"get": {
"tags": [
"Loans"
],
"operationId": "getLoanRepaymentTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/loans/uploadtemplate": {
"post": {
"tags": [
"Loans"
],
"operationId": "postLoanTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/loans/repayments/uploadtemplate": {
"post": {
"tags": [
"Loans"
],
"operationId": "postLoanRepaymentTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/loans/template": {
"get": {
"tags": [
"Loans"
],
"summary": "Retrieve Loan Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Requests:\n\nloans/template?templateType=individual&clientId=1\n\n\nloans/template?templateType=individual&clientId=1&productId=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "groupId",
"in": "query",
"description": "groupId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "templateType",
"in": "query",
"description": "templateType",
"required": false,
"type": "string"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "activeOnly",
"in": "query",
"description": "activeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoansTemplateResponse"
}
}
}
}
},
"/loanproducts/{productId}": {
"get": {
"tags": [
"Loan Products"
],
"summary": "Retrieve a Loan Product",
"description": "Retrieves a Loan Product\n\nExample Requests:\n\nloanproducts/1\n\n\nloanproducts/1?template=true\n\n\nloanproducts/1?fields=name,description,numberOfRepayments",
"operationId": "retrieveLoanProductDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoanProductsProductIdResponse"
}
}
}
},
"put": {
"tags": [
"Loan Products"
],
"summary": "Update a Loan Product",
"description": "Updates a Loan Product",
"operationId": "updateLoanProduct",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutLoanProductsProductIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutLoanProductsProductIdResponse"
}
}
}
}
},
"/loanproducts": {
"get": {
"tags": [
"Loan Products"
],
"summary": "List Loan Products",
"description": "Lists Loan Products\n\nExample Requests:\n\nloanproducts\n\n\nloanproducts?fields=name,description,interestRateFrequencyType,amortizationType",
"operationId": "retrieveAllLoanProducts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetLoanProductsResponse"
}
}
}
}
},
"post": {
"tags": [
"Loan Products"
],
"summary": "Create a Loan Product",
"description": "Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in.\n\nRefer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule\n\nMandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType\n\nOptional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion\n\nAdditional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId\n\nAdditional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId\n\nAdditional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType\n\nAdditional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy\n\nAdditional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate\n\nAdditional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType\n\nAdditional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate\n\nAdditional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee\n\nAdditional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor",
"operationId": "createLoanProduct",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostLoanProductsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLoanProductsResponse"
}
}
}
}
},
"/loanproducts/template": {
"get": {
"tags": [
"Loan Products"
],
"summary": "Retrieve Loan Product Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nloanproducts/template",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "isProductMixTemplate",
"in": "query",
"description": "isProductMixTemplate",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetLoanProductsTemplateResponse"
}
}
}
}
},
"/{resourceType}/{resourceId}/notes": {
"get": {
"tags": [
"Notes"
],
"summary": "Retrieve a Resource's Notes",
"description": "Retrieves a Resource's Notes\n\nNote: Notes are returned in descending createOn order.\n\nExample Requests:\n\nclients/2/notes\n\n\ngroups/2/notes?fields=note,createdOn,createdByUsername",
"operationId": "retrieveNotesByResource",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceType",
"in": "path",
"description": "resourceType",
"required": true,
"type": "string"
},
{
"name": "resourceId",
"in": "path",
"description": "resourceId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetResourceTypeResourceIdNotesResponse"
}
}
}
}
},
"post": {
"tags": [
"Notes"
],
"summary": "Add a Resource Note",
"description": "Adds a new note to a supported resource.\n\nExample Requests:\n\nclients/1/notes\n\n\ngroups/1/notes",
"operationId": "addNewNote",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceType",
"in": "path",
"description": "resourceType",
"required": true,
"type": "string"
},
{
"name": "resourceId",
"in": "path",
"description": "resourceId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostResourceTypeResourceIdNotesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostResourceTypeResourceIdNotesResponse"
}
}
}
}
},
"/{resourceType}/{resourceId}/notes/{noteId}": {
"get": {
"tags": [
"Notes"
],
"summary": "Retrieve a Resource Note",
"description": "Retrieves a Resource Note\n\nExample Requests:\n\nclients/1/notes/76\n\n\ngroups/1/notes/20\n\n\nclients/1/notes/76?fields=note,createdOn,createdByUsername\n\n\ngroups/1/notes/20?fields=note,createdOn,createdByUsername",
"operationId": "retrieveNote",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceType",
"in": "path",
"description": "resourceType",
"required": true,
"type": "string"
},
{
"name": "resourceId",
"in": "path",
"description": "resourceId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "noteId",
"in": "path",
"description": "noteId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetResourceTypeResourceIdNotesNoteIdResponse"
}
}
}
},
"put": {
"tags": [
"Notes"
],
"summary": "Update a Resource Note",
"description": "Updates a Resource Note",
"operationId": "updateNote",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceType",
"in": "path",
"description": "resourceType",
"required": true,
"type": "string"
},
{
"name": "resourceId",
"in": "path",
"description": "resourceId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "noteId",
"in": "path",
"description": "noteId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutResourceTypeResourceIdNotesNoteIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutResourceTypeResourceIdNotesNoteIdResponse"
}
}
}
},
"delete": {
"tags": [
"Notes"
],
"summary": "Delete a Resource Note",
"description": "Deletes a Resource Note",
"operationId": "deleteNote",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "resourceType",
"in": "path",
"description": "resourceType",
"required": true,
"type": "string"
},
{
"name": "resourceId",
"in": "path",
"description": "resourceId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "noteId",
"in": "path",
"description": "noteId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteResourceTypeResourceIdNotesNoteIdResponse"
}
}
}
}
},
"/paymenttypes/{paymentTypeId}": {
"get": {
"tags": [
"Payment Type"
],
"summary": "Retrieve a Payment Type",
"description": "Retrieves a payment type",
"operationId": "retrieveOnePaymentType",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "paymentTypeId",
"in": "path",
"description": "paymentTypeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetPaymentTypesPaymentTypeIdResponse"
}
}
}
},
"put": {
"tags": [
"Payment Type"
],
"summary": "Update a Payment Type",
"description": "Updates a Payment Type",
"operationId": "updatePaymentType",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "paymentTypeId",
"in": "path",
"description": "paymentTypeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutPaymentTypesPaymentTypeIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutPaymentTypesPaymentTypeIdResponse"
}
}
}
},
"delete": {
"tags": [
"Payment Type"
],
"summary": "Delete a Payment Type",
"description": "Deletes payment type",
"operationId": "deleteCode",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "paymentTypeId",
"in": "path",
"description": "paymentTypeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeletePaymentTypesPaymentTypeIdResponse"
}
}
}
}
},
"/paymenttypes": {
"get": {
"tags": [
"Payment Type"
],
"summary": "Retrieve all Payment Types",
"description": "Retrieve list of payment types",
"operationId": "getAllPaymentTypes",
"consumes": [
"text/html",
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetPaymentTypesResponse"
}
}
}
}
},
"post": {
"tags": [
"Payment Type"
],
"summary": "Create a Payment Type",
"description": "Creates a new Payment type\n\nMandatory Fields: name\n\nOptional Fields: Description, isCashPayment,Position",
"operationId": "createPaymentType",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostPaymentTypesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostPaymentTypesResponse"
}
}
}
}
},
"/products/{type}/{productId}": {
"get": {
"tags": [
"Products"
],
"summary": "Retrieve a Share Product",
"description": "Retrieves a Share Product\n\nExample Requests:\n\nproducts/share/1\n\n\nproducts/share/1?template=true",
"operationId": "retrieveProduct",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetProductsTypeProductIdResponse"
}
}
}
},
"post": {
"tags": [
"Products"
],
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"Products"
],
"summary": "Update a Share Product",
"description": "Updates a Share Product",
"operationId": "updateProduct",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutProductsTypeProductIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutProductsTypeProductIdResponse"
}
}
}
}
},
"/products/{type}": {
"get": {
"tags": [
"Products"
],
"summary": "List Share Products",
"description": "Lists Share Products\n\nMandatory Fields: limit, offset\n\nExample Requests:\n\nshareproducts",
"operationId": "retrieveAllProducts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetProductsTypeResponse"
}
}
}
},
"post": {
"tags": [
"Products"
],
"summary": "Create a Share Product",
"description": "Creates a Share Product\n\nMandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, locale, totalShares, unitPrice, nominalShares,allowDividendCalculationForInactiveClients,accountingRule\n\nMandatory Fields for Cash based accounting (accountingRule = 2): shareReferenceId, shareSuspenseId, shareEquityId, incomeFromFeeAccountId\n\nOptional Fields: sharesIssued, minimumShares, maximumShares, minimumActivePeriodForDividends, minimumactiveperiodFrequencyType, lockinPeriodFrequency, lockinPeriodFrequencyType, marketPricePeriods, chargesSelected",
"operationId": "createProduct",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostProductsTypeRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostProductsTypeResponse"
}
}
}
}
},
"/products/{type}/template": {
"get": {
"tags": [
"Products"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "path",
"description": "type",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/fixeddepositaccounts/{accountId}": {
"get": {
"tags": [
"Fixed Deposit Account"
],
"summary": "Retrieve a fixed deposit application/account",
"description": "Retrieves a fixed deposit application/account\n\nExample Requests :\n\n\n\nfixeddepositaccounts/1\n\nfixeddepositaccounts/1?associations=all",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetFixedDepositAccountsAccountIdResponse"
}
}
}
},
"post": {
"tags": [
"Fixed Deposit Account"
],
"summary": "Approve fixed deposit application | Undo approval fixed deposit application | Reject fixed deposit application | Withdraw fixed deposit application | Activate a fixed deposit account | Close a fixed deposit account | Premature Close a fixed deposit account | Calculate Premature amount on Fixed deposit account | Calculate Interest on Fixed Deposit Account | Post Interest on Fixed Deposit Account",
"description": "Approve fixed deposit application:\n\nApproves fixed deposit application so long as its in 'Submitted and pending approval' state.\n\nUndo approval fixed deposit application:\n\nWill move 'approved' fixed deposit application back to 'Submitted and pending approval' state.\n\nReject fixed deposit application:\n\nRejects fixed deposit application so long as its in 'Submitted and pending approval' state.\n\nWithdraw fixed deposit application:\n\nUsed when an applicant withdraws from the fixed deposit application. It must be in 'Submitted and pending approval' state.\n\nClose a fixed deposit account:\n\nResults in a Matured fixed deposit account being converted into a 'closed' fixed deposit account.\n\nPremature Close a fixed deposit account:\n\nResults in an Active fixed deposit account being converted into a 'Premature Closed' fixed deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.)\n\nCalculate Premature amount on Fixed deposit account:\n\nCalculate premature amount on fixed deposit account till premature close date. Premature amount is calculated based on interest chart and penal interest applicable.\n\nCalculate Interest on Fixed Deposit Account:\n\nCalculates interest earned on a fixed deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process.\n\nPost Interest on Fixed Deposit Account:\n\nCalculates and Posts interest earned on a fixed deposit account based on today's date and whether an interest posting or crediting event is due.\n\nShowing request/response for Calculate Interest on Fixed Deposit Account",
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostFixedDepositAccountsAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostFixedDepositAccountsAccountIdResponse"
}
}
}
},
"put": {
"tags": [
"Fixed Deposit Account"
],
"summary": "Modify a fixed deposit application",
"description": "Fixed deposit application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutFixedDepositAccountsAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutFixedDepositAccountsAccountIdResponse"
}
}
}
},
"delete": {
"tags": [
"Fixed Deposit Account"
],
"summary": "Delete a fixed deposit application",
"description": "At present we support hard delete of fixed deposit application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the fixed deposit account.",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteFixedDepositAccountsAccountIdResponse"
}
}
}
}
},
"/fixeddepositaccounts": {
"get": {
"tags": [
"Fixed Deposit Account"
],
"summary": "List Fixed deposit applications/accounts",
"description": "Lists Fixed Deposit Accounts\n\nExample Requests:\n\n\n\nfixeddepositaccounts\n\n\n\nfixeddepositaccounts?fields=name",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "paged",
"in": "query",
"description": "paged",
"required": false,
"type": "boolean"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetFixedDepositAccountsResponse"
}
}
}
}
},
"post": {
"tags": [
"Fixed Deposit Account"
],
"summary": "Submit new fixed deposit application",
"description": "Submits a new fixed deposit applicationMandatory Fields: clientId or groupId, productId, submittedOnDate, depositAmount, depositPeriod, depositPeriodFrequencyId\n\nOptional Fields: accountNo, externalId, fieldOfficerId,linkAccountId(if provided initial deposit amount will be collected from this account),transferInterestToSavings(By enabling this flag all interest postings will be transferred to linked saving account )",
"operationId": "submitApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostFixedDepositAccountsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostFixedDepositAccountsResponse"
}
}
}
}
},
"/fixeddepositaccounts/{accountId}/template": {
"get": {
"tags": [
"Fixed Deposit Account"
],
"operationId": "accountClosureTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/fixeddepositaccounts/downloadtemplate": {
"get": {
"tags": [
"Fixed Deposit Account"
],
"operationId": "getFixedDepositTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/fixeddepositaccounts/uploadtemplate": {
"post": {
"tags": [
"Fixed Deposit Account"
],
"operationId": "postFixedDepositTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/fixeddepositaccounts/transaction/downloadtemplate": {
"get": {
"tags": [
"Fixed Deposit Account"
],
"operationId": "getFixedDepositTransactionTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/fixeddepositaccounts/transaction/uploadtemplate": {
"post": {
"tags": [
"Fixed Deposit Account"
],
"operationId": "postFixedDepositTransactionTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/fixeddepositaccounts/template": {
"get": {
"tags": [
"Fixed Deposit Account"
],
"summary": "Retrieve Fixed Deposit Account Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for fixed deposit applications. The template data returned consists of any or all of:\n\n\n\nField Defaults\n\nAllowed Value ListsExample Requests:\n\n\n\nfixeddepositaccounts/template?clientId=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "groupId",
"in": "query",
"description": "groupId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetFixedDepositAccountsTemplateResponse"
}
}
}
}
},
"/fixeddepositproducts": {
"get": {
"tags": [
"Fixed Deposit Product"
],
"summary": "List Fixed Deposit Products",
"description": "Lists Fixed Deposit Products\n\nExample Requests:\n\nfixeddepositproducts\n\n\nfixeddepositproducts?fields=name",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetFixedDepositProductsResponse"
}
}
}
}
},
"post": {
"tags": [
"Fixed Deposit Product"
],
"summary": "Create a Fixed Deposit Product",
"description": "Creates a Fixed Deposit Product\n\nMandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minDepositTerm, minDepositTermTypeId, accountingRule\n\nOptional Fields: lockinPeriodFrequency, lockinPeriodFrequencyType, maxDepositTerm, maxDepositTermTypeId, inMultiplesOfDepositTerm, inMultiplesOfDepositTermTypeId, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, charts, , withHoldTax, taxGroupId\n\n\nMandatory Fields for Cash based accounting (accountingRule = 2): savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostFixedDepositProductsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostFixedDepositProductsResponse"
}
}
}
}
},
"/fixeddepositproducts/{productId}": {
"get": {
"tags": [
"Fixed Deposit Product"
],
"summary": "Retrieve a Fixed Deposit Product",
"description": "Retrieves a Fixed Deposit Product\n\nExample Requests:\n\nfixeddepositproducts/1\n\n\nfixeddepositproducts/1?template=true\n\n\nfixeddepositproducts/1?fields=name,description",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetFixedDepositProductsProductIdResponse"
}
}
}
},
"put": {
"tags": [
"Fixed Deposit Product"
],
"summary": "Update a Fixed Deposit Product",
"description": "Updates a Fixed Deposit Product",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutFixedDepositProductsProductIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutFixedDepositProductsProductIdResponse"
}
}
}
},
"delete": {
"tags": [
"Fixed Deposit Product"
],
"summary": "Delete a Fixed Deposit Product",
"description": "Deletes a Fixed Deposit Product",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteFixedDepositProductsProductIdResponse"
}
}
}
}
},
"/fixeddepositproducts/template": {
"get": {
"tags": [
"Fixed Deposit Product"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/recurringdepositaccounts/{recurringDepositAccountId}/transactions/{transactionId}": {
"get": {
"tags": [
"Recurring Deposit Account Transactions"
],
"summary": "Retrieve Recurring Deposit Account Transaction",
"description": "Retrieves Recurring Deposit Account Transaction\n\nExample Requests:\n\nrecurringdepositaccounts/1/transactions/1",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "recurringDepositAccountId",
"in": "path",
"description": "recurringDepositAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetRecurringDepositAccountsRecurringDepositAccountIdTransactionsTransactionIdResponse"
}
}
}
},
"post": {
"tags": [
"Recurring Deposit Account Transactions"
],
"summary": "Adjust Transaction | Undo transaction",
"description": "Adjust Transaction:\n\nThis command modifies the given transaction.\n\nUndo transaction:\n\nThis command reverses the given transaction.\n\nShowing request/response for 'Adjust Transaction'",
"operationId": "handleTransactionCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "recurringDepositAccountId",
"in": "path",
"description": "recurringDepositAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsRecurringDepositAccountIdTransactionsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsRecurringDepositAccountIdTransactionsTransactionIdResponse"
}
}
}
}
},
"/recurringdepositaccounts/{recurringDepositAccountId}/transactions": {
"post": {
"tags": [
"Recurring Deposit Account Transactions"
],
"summary": "Deposit Transaction | Withdrawal Transaction",
"description": "Deposit Transaction:\n\nUsed for a deposit transaction\n\nWithdrawal Transaction:\n\nUsed for a Withdrawal Transaction\n\nShowing request/response for Deposit Transaction",
"operationId": "transaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "recurringDepositAccountId",
"in": "path",
"description": "recurringDepositAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsRecurringDepositAccountIdTransactionsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsRecurringDepositAccountIdTransactionsResponse"
}
}
}
}
},
"/recurringdepositaccounts/{recurringDepositAccountId}/transactions/template": {
"get": {
"tags": [
"Recurring Deposit Account Transactions"
],
"summary": "Retrieve Recurring Deposit Account Transaction Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Requests:\n\nrecurringdepositaccounts/1/transactions/template?command=deposit\n\nrecurringdepositaccounts/1/transactions/template?command=withdrawal",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "recurringDepositAccountId",
"in": "path",
"description": "recurringDepositAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetRecurringDepositAccountsRecurringDepositAccountIdTransactionsTemplateResponse"
}
}
}
}
},
"/recurringdepositaccounts/{accountId}": {
"get": {
"tags": [
"Recurring Deposit Account"
],
"summary": "Retrieve a recurring deposit application/account",
"description": "Retrieves a recurring deposit application/account\n\nExample Requests :\n\nrecurringdepositaccounts/1\n\n\nrecurringdepositaccounts/1?associations=all",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetRecurringDepositAccountsAccountIdResponse"
}
}
}
},
"post": {
"tags": [
"Recurring Deposit Account"
],
"summary": "Approve recurring deposit application | Undo approval recurring deposit application | Reject recurring deposit application | Withdraw recurring deposit application | Activate a recurring deposit account | Update the recommended deposit amount for a recurring deposit account | Close a recurring deposit account | Premature Close a recurring deposit account | Calculate Premature amount on Recurring deposit account | Calculate Interest on recurring Deposit Account | Post Interest on recurring Deposit Account",
"description": "Approve recurring deposit application:\n\nApproves recurring deposit application so long as its in 'Submitted and pending approval' state.\n\nUndo approval recurring deposit application:\n\nWill move 'approved' recurring deposit application back to 'Submitted and pending approval' state.\n\nReject recurring deposit application\n\nRejects recurring deposit application so long as its in 'Submitted and pending approval' state.\n\nWithdraw recurring deposit application:\n\nUsed when an applicant withdraws from the recurring deposit application. It must be in 'Submitted and pending approval' state.\n\nActivate a recurring deposit account:\n\nResults in an approved recurring deposit application being converted into an 'active' recurring deposit account.\n\nUpdate the recommended deposit amount for a recurring deposit account:\n\nUpdates the recommended deposit amount for a RD account as on the effective date.\n\nClose a recurring deposit account\n\nResults in a Matured recurring deposit account being converted into a 'closed' recurring deposit account.\n\nOn account close allowed actions are.Premature Close a recurring deposit account:\n\nResults in an Active recurring deposit account being converted into a 'Premature Closed' recurring deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.)\n\nOn account premature closure allowed actions are.\n\nCalculate Premature amount on Recurring deposit account:\n\nCalculate premature amount on recurring deposit till premature close date. Premature amount is calculated based on interest chart and penal interest applicable if any.\n\nCalculate Interest on recurring Deposit Account:\n\nCalculates interest earned on a recurring deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process.\n\nPost Interest on recurring Deposit Account:\n\nCalculates and Posts interest earned on a recurring deposit account based on todays date and whether an interest posting or crediting event is due.\n\nShowing request/response for 'Post Interest on recurring Deposit Account'",
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsAccountIdResponse"
}
}
}
},
"put": {
"tags": [
"Recurring Deposit Account"
],
"summary": "Modify a recurring deposit application",
"description": "Recurring deposit application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutRecurringDepositAccountsAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutRecurringDepositAccountsAccountIdResponse"
}
}
}
},
"delete": {
"tags": [
"Recurring Deposit Account"
],
"summary": "Delete a recurring deposit application",
"description": "At present we support hard delete of recurring deposit application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the recurring deposit account.",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteRecurringDepositAccountsResponse"
}
}
}
}
},
"/recurringdepositaccounts": {
"get": {
"tags": [
"Recurring Deposit Account"
],
"summary": "List Recurring deposit applications/accounts",
"description": "Lists Recurring deposit applications/accounts\n\nExample Requests:\n\nrecurringdepositaccounts\n\n\nrecurringdepositaccounts?fields=name",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "paged",
"in": "query",
"description": "paged",
"required": false,
"type": "boolean"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetRecurringDepositAccountsResponse"
}
}
}
}
},
"post": {
"tags": [
"Recurring Deposit Account"
],
"summary": "Submit new recurring deposit application",
"description": "Submits new recurring deposit application\n\nMandatory Fields: clientId or groupId, productId, submittedOnDate, depositAmount, depositPeriod, depositPeriodFrequencyId\n\nOptional Fields: accountNo, externalId, fieldOfficerId,linkAccountId(if provided initial deposit amount will be collected from this account),transferInterestToSavings(By enabling this flag all interest postings will be transferred to linked saving account )\n\nInherited from Product (if not provided): interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, lockinPeriodFrequency, lockinPeriodFrequencyType, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, charts, withHoldTax",
"operationId": "submitApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostRecurringDepositAccountsResponse"
}
}
}
}
},
"/recurringdepositaccounts/{accountId}/template": {
"get": {
"tags": [
"Recurring Deposit Account"
],
"operationId": "accountClosureTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/recurringdepositaccounts/downloadtemplate": {
"get": {
"tags": [
"Recurring Deposit Account"
],
"operationId": "getRecurringDepositTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/recurringdepositaccounts/uploadtemplate": {
"post": {
"tags": [
"Recurring Deposit Account"
],
"operationId": "postRecurringDepositTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/recurringdepositaccounts/transactions/downloadtemplate": {
"get": {
"tags": [
"Recurring Deposit Account"
],
"operationId": "getRecurringDepositTransactionTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/recurringdepositaccounts/transactions/uploadtemplate": {
"post": {
"tags": [
"Recurring Deposit Account"
],
"operationId": "postRecurringDepositTransactionsTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/recurringdepositaccounts/template": {
"get": {
"tags": [
"Recurring Deposit Account"
],
"summary": "Retrieve recurring Deposit Account Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for recurring deposit applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Requests:\n\nrecurringdepositaccounts/template?clientId=1\n\n\nrecurringdepositaccounts/template?clientId=1&productId=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "groupId",
"in": "query",
"description": "groupId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetRecurringDepositAccountsTemplateResponse"
}
}
}
}
},
"/recurringdepositproducts": {
"get": {
"tags": [
"Recurring Deposit Product"
],
"summary": "List Recuring Deposit Products",
"description": "Lists Recuring Deposit Products\n\nExample Requests:\n\nrecurringdepositproducts\n\n\nrecurringdepositproducts?fields=name",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetRecurringDepositProductsResponse"
}
}
}
}
},
"post": {
"tags": [
"Recurring Deposit Product"
],
"summary": "Create a Recurring Deposit Product",
"description": "Creates a Recurring Deposit Product\n\nMandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minDepositTerm, minDepositTermTypeId, recurringDepositFrequency, recurringDepositFrequencyTypeId, accountingRule, depositAmount\n\nMandatory Fields for Cash based accounting (accountingRule = 2): savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId\n\nOptional Fields: lockinPeriodFrequency, lockinPeriodFrequencyType, maxDepositTerm, maxDepositTermTypeId, inMultiplesOfDepositTerm, inMultiplesOfDepositTermTypeId, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, charts, minDepositAmount, maxDepositAmount, withHoldTax, taxGroupId",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostRecurringDepositProductsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostRecurringDepositProductsResponse"
}
}
}
}
},
"/recurringdepositproducts/{productId}": {
"get": {
"tags": [
"Recurring Deposit Product"
],
"summary": "Retrieve a Recurring Deposit Product",
"description": "Retrieves a Recurring Deposit Product\n\nExample Requests:\n\nrecurringdepositproducts/1\n\n\nrecurringdepositproducts/1?template=true\n\n\nrecurringdepositproducts/1?fields=name,description",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetRecurringDepositProductsProductIdResponse"
}
}
}
},
"put": {
"tags": [
"Recurring Deposit Product"
],
"summary": "Update a Recurring Deposit Product",
"description": "Updates a Recurring Deposit Product",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutRecurringDepositProductsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutRecurringDepositProductsResponse"
}
}
}
},
"delete": {
"tags": [
"Recurring Deposit Product"
],
"summary": "Delete a Recurring Deposit Product",
"description": "Deletes a Recurring Deposit Product",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteRecurringDepositProductsProductIdResponse"
}
}
}
}
},
"/recurringdepositproducts/template": {
"get": {
"tags": [
"Recurring Deposit Product"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/savingsaccounts/{savingsAccountId}/charges": {
"get": {
"tags": [
"Savings Charges"
],
"summary": "List Savings Charges",
"description": "Lists Savings Charges\n\nExample Requests:\n\nsavingsaccounts/1/charges\n\nsavingsaccounts/1/charges?chargeStatus=all\n\nsavingsaccounts/1/charges?chargeStatus=inactive\n\nsavingsaccounts/1/charges?chargeStatus=active\n\nsavingsaccounts/1/charges?fields=name,amountOrPercentage",
"operationId": "retrieveAllSavingsAccountCharges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "savingsAccountId",
"in": "path",
"description": "savingsAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetSavingsAccountsSavingsAccountIdChargesResponse"
}
}
}
}
},
"post": {
"tags": [
"Savings Charges"
],
"summary": "Create a Savings account Charge",
"description": "Creates a Savings account Charge\n\nMandatory Fields for Savings account Charges: chargeId, amount\n\nchargeId, amount, dueDate, dateFormat, locale\n\nchargeId, amount, feeOnMonthDay, monthDayFormat, locale",
"operationId": "addSavingsAccountCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "savingsAccountId",
"in": "path",
"description": "savingsAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSavingsAccountsSavingsAccountIdChargesRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSavingsAccountsSavingsAccountIdChargesResponse"
}
}
}
}
},
"/savingsaccounts/{savingsAccountId}/charges/{savingsAccountChargeId}": {
"get": {
"tags": [
"Savings Charges"
],
"summary": "Retrieve a Savings account Charge",
"description": "Retrieves a Savings account Charge\n\nExample Requests:\n\n/savingsaccounts/1/charges/5\n\n\n/savingsaccounts/1/charges/5?fields=name,amountOrPercentage",
"operationId": "retrieveSavingsAccountCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "savingsAccountId",
"in": "path",
"description": "savingsAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "savingsAccountChargeId",
"in": "path",
"description": "savingsAccountChargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSavingsAccountsSavingsAccountIdChargesSavingsAccountChargeIdResponse"
}
}
}
},
"post": {
"tags": [
"Savings Charges"
],
"summary": "Pay a Savings account Charge | Waive off a Savings account Charge | Inactivate a Savings account Charge",
"description": "Pay a Savings account Charge:\n\nAn active charge will be paid when savings account is active and having sufficient balance.\n\nWaive off a Savings account Charge:\n\nOutstanding charge amount will be waived off.\n\nInactivate a Savings account Charge:\n\nA charge will be allowed to inactivate when savings account is active and not having any dues as of today. If charge is overpaid, corresponding charge payment transactions will be reversed.\n\nShowing request/response for 'Pay a Savings account Charge'",
"operationId": "payOrWaiveSavingsAccountCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "savingsAccountId",
"in": "path",
"description": "savingsAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "savingsAccountChargeId",
"in": "path",
"description": "savingsAccountChargeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSavingsAccountsSavingsAccountIdChargesSavingsAccountChargeIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSavingsAccountsSavingsAccountIdChargesSavingsAccountChargeIdResponse"
}
}
}
},
"put": {
"tags": [
"Savings Charges"
],
"summary": "Update a Savings account Charge",
"description": "Currently Savings account Charges may be updated only if the Savings account is not yet approved.",
"operationId": "updateSavingsAccountCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "savingsAccountId",
"in": "path",
"description": "savingsAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "savingsAccountChargeId",
"in": "path",
"description": "savingsAccountChargeId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutSavingsAccountsSavingsAccountIdChargesSavingsAccountChargeIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutSavingsAccountsSavingsAccountIdChargesSavingsAccountChargeIdResponse"
}
}
}
},
"delete": {
"tags": [
"Savings Charges"
],
"summary": "Delete a Savings account Charge",
"description": "Note: Currently, A Savings account Charge may only be removed from Savings that are not yet approved.",
"operationId": "deleteSavingsAccountCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "savingsAccountId",
"in": "path",
"description": "savingsAccountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "savingsAccountChargeId",
"in": "path",
"description": "savingsAccountChargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteSavingsAccountsSavingsAccountIdChargesSavingsAccountChargeIdResponse"
}
}
}
}
},
"/savingsaccounts/{savingsAccountId}/charges/template": {
"get": {
"tags": [
"Savings Charges"
],
"summary": "Retrieve Savings Charges Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nsavingsaccounts/1/charges/template",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "savingsAccountId",
"in": "path",
"description": "savingsAccountId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSavingsAccountsSavingsAccountIdChargesTemplateResponse"
}
}
}
}
},
"/savingsaccounts/{accountId}": {
"get": {
"tags": [
"Savings Account"
],
"summary": "Retrieve a savings application/account",
"description": "Retrieves a savings application/account\n\nExample Requests :\n\nsavingsaccounts/1\n\n\nsavingsaccounts/1?associations=all",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSavingsAccountsAccountIdResponse"
}
}
}
},
"post": {
"tags": [
"Savings Account"
],
"summary": "Approve savings application | Undo approval savings application | Assign Savings Officer | Unassign Savings Officer | Reject savings application | Withdraw savings application | Activate a savings account | Close a savings account | Calculate Interest on Savings Account | Post Interest on Savings Account | Block Savings Account | Unblock Savings Account | Block Savings Account Credit transactions | Unblock Savings Account Credit transactions | Block Savings Account Debit transactions | Unblock Savings Account debit transactions",
"description": "Approve savings application:\n\nApproves savings application so long as its in 'Submitted and pending approval' state.\n\nUndo approval savings application:\n\nWill move 'approved' savings application back to 'Submitted and pending approval' state.\n\nAssign Savings Officer:\n\nAllows you to assign Savings Officer for existing Savings Account.\n\nUnassign Savings Officer:\n\nAllows you to unassign the Savings Officer.\n\nReject savings application:\n\nRejects savings application so long as its in 'Submitted and pending approval' state.\n\nWithdraw savings application:\n\nUsed when an applicant withdraws from the savings application. It must be in 'Submitted and pending approval' state.\n\nActivate a savings account:\n\nResults in an approved savings application being converted into an 'active' savings account.\n\nClose a savings account:\n\nResults in an Activated savings application being converted into an 'closed' savings account.\n\nclosedOnDate is closure date of savings account\n\nwithdrawBalance is a boolean value, true value of this field performs a withdrawal transaction with account's running balance.\n\nMandatory Fields: dateFormat,locale,closedOnDate\n\nOptional Fields: note, withdrawBalance, paymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber\n\nCalculate Interest on Savings Account:\n\nCalculates interest earned on a savings account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process.\n\nPost Interest on Savings Account:\n\nCalculates and Posts interest earned on a savings account based on today's date and whether an interest posting or crediting event is due.\n\nBlock Savings Account:\n\nBlocks Savings account from all types of credit and debit transactions\n\nUnblock Savings Account:\n\nUnblock a blocked account. On unblocking account, user can perform debit and credit transactions\n\nBlock Savings Account Credit transactions:\n\nSavings account will be blocked from all types of credit transactions.\n\nUnblock Savings Account Credit transactions:\n\nIt unblocks the Saving account's credit operations. Now all types of credits can be transacted to Savings account\n\nBlock Savings Account Debit transactions:\n\nAll types of debit operations from Savings account wil be blocked\n\nUnblock Savings Account debit transactions:\n\nIt unblocks the Saving account's debit operations. Now all types of debits can be transacted from Savings account\n\nShowing request/response for 'Unassign Savings Officer'",
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSavingsAccountsAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSavingsAccountsAccountIdResponse"
}
}
}
},
"put": {
"tags": [
"Savings Account"
],
"summary": "Modify a savings application | Modify savings account withhold tax applicability",
"description": "Modify a savings application:\n\nSavings application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc\n\nModify savings account withhold tax applicability:\n\nSavings application's withhold tax can be modified when in 'Active' state. Once the application is activated, can modify the account withhold tax to post tax or vice-versaShowing request/response for 'Modify a savings application'",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutSavingsAccountsAccountIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutSavingsAccountsAccountIdResponse"
}
}
}
},
"delete": {
"tags": [
"Savings Account"
],
"summary": "Delete a savings application",
"description": "At present we support hard delete of savings application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the savings account.",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteSavingsAccountsAccountIdResponse"
}
}
}
}
},
"/savingsaccounts": {
"get": {
"tags": [
"Savings Account"
],
"summary": "List savings applications/accounts",
"description": "Lists savings applications/accounts\n\nExample Requests:\n\nsavingsaccounts\n\n\nsavingsaccounts?fields=name",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "sqlSearch",
"in": "query",
"description": "sqlSearch",
"required": false,
"type": "string"
},
{
"name": "externalId",
"in": "query",
"description": "externalId",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSavingsAccountsResponse"
}
}
}
},
"post": {
"tags": [
"Savings Account"
],
"summary": "Submit new savings application",
"description": "Submits new savings application\n\nMandatory Fields: clientId or groupId, productId, submittedOnDate\n\nOptional Fields: accountNo, externalId, fieldOfficerId\n\nInherited from Product (if not provided): nominalAnnualInterestRate, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minRequiredOpeningBalance, lockinPeriodFrequency, lockinPeriodFrequencyType, withdrawalFeeForTransfers, allowOverdraft, overdraftLimit, withHoldTax\n\nAdditional Mandatory Field if Entity-Datatable Check is enabled for the entity of type Savings: datatables",
"operationId": "submitApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSavingsAccountsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSavingsAccountsResponse"
}
}
}
}
},
"/savingsaccounts/downloadtemplate": {
"get": {
"tags": [
"Savings Account"
],
"operationId": "getSavingsTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/savingsaccounts/uploadtemplate": {
"post": {
"tags": [
"Savings Account"
],
"operationId": "postSavingsTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/savingsaccounts/transactions/downloadtemplate": {
"get": {
"tags": [
"Savings Account"
],
"operationId": "getSavingsTransactionTemplate",
"produces": [
"application/vnd.ms-excel"
],
"parameters": [
{
"name": "officeId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "dateFormat",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/savingsaccounts/transactions/uploadtemplate": {
"post": {
"tags": [
"Savings Account"
],
"operationId": "postSavingsTransactionTemplate",
"consumes": [
"multipart/form-data"
],
"parameters": [
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
},
{
"name": "locale",
"in": "formData",
"required": false,
"type": "string"
},
{
"name": "dateFormat",
"in": "formData",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/savingsaccounts/template": {
"get": {
"tags": [
"Savings Account"
],
"summary": "Retrieve Savings Account Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Requests:\n\nsavingsaccounts/template?clientId=1\n\n\nsavingsaccounts/template?clientId=1&productId=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "groupId",
"in": "query",
"description": "groupId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "staffInSelectedOfficeOnly",
"in": "query",
"description": "staffInSelectedOfficeOnly",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSavingsAccountsTemplateResponse"
}
}
}
}
},
"/savingsproducts": {
"get": {
"tags": [
"Savings Product"
],
"summary": "List Savings Products",
"description": "Lists Savings Products\n\nExample Requests:\n\nsavingsproducts\n\nsavingsproducts?fields=name",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetSavingsProductsResponse"
}
}
}
}
},
"post": {
"tags": [
"Savings Product"
],
"summary": "Create a Savings Product",
"description": "Creates a Savings Product\n\nMandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, nominalAnnualInterestRate, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType,accountingRule\n\nMandatory Fields for Cash based accounting (accountingRule = 2): savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId\n\nOptional Fields: minRequiredOpeningBalance, lockinPeriodFrequency, lockinPeriodFrequencyType, withdrawalFeeForTransfers, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, allowOverdraft, overdraftLimit, minBalanceForInterestCalculation,withHoldTax,taxGroupId",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSavingsProductsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSavingsProductsResponse"
}
}
}
}
},
"/savingsproducts/{productId}": {
"get": {
"tags": [
"Savings Product"
],
"summary": "Retrieve a Savings Product",
"description": "Retrieves a Savings Product\n\nExample Requests:\n\nsavingsproducts/1\n\nsavingsproducts/1?template=true\n\nsavingsproducts/1?fields=name,description",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSavingsProductsProductIdResponse"
}
}
}
},
"put": {
"tags": [
"Savings Product"
],
"summary": "Update a Savings Product",
"description": "Updates a Savings Product",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutSavingsProductsProductIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutSavingsProductsProductIdResponse"
}
}
}
},
"delete": {
"tags": [
"Savings Product"
],
"summary": "Delete a Savings Product",
"description": "Deletes a Savings Product",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"description": "productId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteSavingsProductsProductIdResponse"
}
}
}
}
},
"/savingsproducts/template": {
"get": {
"tags": [
"Savings Product"
],
"summary": "Retrieve Savings Product Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\nExample Request:\n\nsavingsproducts/template",
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSavingsProductsTemplateResponse"
}
}
}
}
},
"/search/template": {
"get": {
"tags": [
"Search API"
],
"summary": "Retrive Adhoc Search query template",
"description": "Mandatory Fields\n\nsearch?query=000000001\n",
"operationId": "retrieveAdHocSearchQueryTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetSearchResponse"
}
}
}
}
},
"/search/advance": {
"post": {
"tags": [
"Search API"
],
"summary": "Adhoc query search",
"description": "AdHocQuery search has more search options, it is a POST request, it uses request body to send search parameters\n\n\nMandatory fields:entities\n\nOptional fields:loanStatus, loanProducts, offices, loanDateOption, loanFromDate, loanToDate, \nincludeOutStandingAmountPercentage, outStandingAmountPercentageCondition, \nminOutStandingAmountPercentage and maxOutStandingAmountPercentage OR outStandingAmountPercentage, \nincludeOutstandingAmount, outstandingAmountCondition, \nminOutstandingAmount and maxOutstandingAmount OR outstandingAmount",
"operationId": "advancedSearch",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostAdhocQuerySearchRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostAdhocQuerySearchResponse"
}
}
}
}
},
"/search": {
"get": {
"tags": [
"Search API"
],
"summary": "Search Resources",
"description": "Example Requests:\n\nsearch?query=000000001\n\n\nsearch?query=Petra&resource=clients,groups\n\n\nsearch?query=Petra&resource=clients,groups&exactMatch=true",
"operationId": "searchData",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "query",
"in": "query",
"description": "query",
"required": false,
"type": "string"
},
{
"name": "resource",
"in": "query",
"description": "resource",
"required": false,
"type": "string"
},
{
"name": "exactMatch",
"in": "query",
"description": "exactMatch",
"required": false,
"type": "boolean",
"default": false
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetSearchResponse"
}
}
}
}
},
"/self/accounttransfers/template": {
"get": {
"tags": [
"Self Account Transfer"
],
"summary": "Retrieve Account Transfer Template",
"description": "Returns list of loan/savings accounts that can be used for account transfer\n\n\nExample Requests:\n\nself/accounttransfers/template\n",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "query",
"description": "type",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetAccountTransferTemplateResponse"
}
}
}
}
}
},
"/self/accounttransfers": {
"post": {
"tags": [
"Self Account Transfer"
],
"summary": "Create new Transfer",
"description": "Ability to create new transfer of monetary funds from one account to another.\n\n\nExample Requests:\n\n self/accounttransfers/\n",
"operationId": "create",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "type",
"in": "query",
"description": "type",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PostNewTransferResponse"
}
}
}
}
}
},
"/self/beneficiaries/tpt": {
"get": {
"tags": [
"Self Third Party Transfer"
],
"summary": "Get All TPT Beneficiary",
"description": "Api to get all third party beneficiary linked to current user.\n\nExample Requests:\n\n/self/beneficiaries/tpt",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetSelfBeneficiariesTPTResponse"
}
}
}
}
},
"post": {
"tags": [
"Self Third Party Transfer"
],
"summary": "Add TPT Beneficiary",
"description": "Api to add third party beneficiary linked to current user.\n\nParameter Definitions\n\nname : Nick name for beneficiary, should be unique for an self service user\n\nofficeName : Office Name of beneficiary(not id)\n\naccountNumber : Account Number of beneficiary(not id)\n\ntransferLimit : Each transfer initiated to this account will not exceed this amount\n\nExample Requests:\n\n/self/beneficiaries/tpt\n\nMandatory Fields: name, officeName, accountNumber, accountType\n\nOptional Fields: transferLimit",
"operationId": "add",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSelfBeneficiariesTPTRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSelfBeneficiariesTPTResponse"
}
}
}
}
},
"/self/beneficiaries/tpt/template": {
"get": {
"tags": [
"Self Third Party Transfer"
],
"summary": "Beneficiary Third Party Transfer Template",
"description": "Returns Account Type enumerations. Self User is expected to know office name and account number to be able to add beneficiary.\n\nExample Requests:\n\n/self/beneficiaries/tpt/template",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfBeneficiariesTPTTemplateResponse"
}
}
}
}
},
"/self/beneficiaries/tpt/{beneficiaryId}": {
"put": {
"tags": [
"Self Third Party Transfer"
],
"summary": "Update TPT Beneficiary",
"description": "Api to update third party beneficiary linked to current user.\n\nExample Requests:\n\n/self/beneficiaries/tpt/{beneficiaryId}\n\nOptional Fields: name, transferLimit",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "beneficiaryId",
"in": "path",
"description": "beneficiaryId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutSelfBeneficiariesTPTBeneficiaryIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutSelfBeneficiariesTPTBeneficiaryIdResponse"
}
}
}
},
"delete": {
"tags": [
"Self Third Party Transfer"
],
"summary": "Delete TPT Beneficiary",
"description": "Api to delete third party beneficiary linked to current user.\n\nExample Requests:\n\n/self/beneficiaries/tpt/{beneficiaryId}",
"operationId": "delete",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "beneficiaryId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/DeleteSelfBeneficiariesTPTBeneficiaryIdResponse"
}
}
}
}
},
"/self/clients/{clientId}/images": {
"get": {
"tags": [
"Self Client"
],
"summary": "Retrieve Client Image",
"description": "Optional arguments are identical to those of Get Image associated with an Entity (Binary file)\n\nExample Requests:\n\nself/clients/1/images",
"operationId": "retrieveImage",
"consumes": [
"text/plain",
"text/html",
"application/json"
],
"produces": [
"text/plain"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "maxWidth",
"in": "query",
"required": false,
"type": "integer",
"format": "int32",
"x-example": "maxWidth"
},
{
"name": "maxHeight",
"in": "query",
"required": false,
"type": "integer",
"format": "int32",
"x-example": "maxHeight"
},
{
"name": "output",
"in": "query",
"required": false,
"type": "string",
"x-example": "output"
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"post": {
"tags": [
"Self Client"
],
"operationId": "addNewClientImage",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "Content-Length",
"in": "header",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "file",
"in": "formData",
"required": false,
"type": "file"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"delete": {
"tags": [
"Self Client"
],
"operationId": "deleteClientImage",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/clients/{clientId}/charges": {
"get": {
"tags": [
"Self Client"
],
"summary": "List Client Charges",
"description": "The list capability of client charges supports pagination.\n\nExample Requests:\n\nself/clients/1/charges\n\nself/clients/1/charges?offset=0&limit=5",
"operationId": "retrieveAllClientCharges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
},
{
"name": "pendingPayment",
"in": "query",
"description": "pendingPayment",
"required": false,
"type": "boolean"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfClientsClientIdChargesResponse"
}
}
}
}
},
"/self/clients/{clientId}/charges/{chargeId}": {
"get": {
"tags": [
"Self Client"
],
"summary": "Retrieve a Client Charge",
"description": "Retrieves a Client Charge\n\nExample Requests:\n\nself/clients/1/charges/1\n\n\nself/clients/1/charges/1?fields=name,id",
"operationId": "retrieveClientCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfClientsClientIdChargesChargeIdResponse"
}
}
}
}
},
"/self/clients/{clientId}/transactions": {
"get": {
"tags": [
"Self Client"
],
"summary": "List Client Transactions",
"description": "The list capability of client transaction can support pagination.\n\nExample Requests:\n\nself/clients/189/transactions\n\nself/clients/189/transactions?offset=10&limit=50",
"operationId": "retrieveAllClientTransactions",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfClientsClientIdTransactionsResponse"
}
}
}
}
},
"/self/clients/{clientId}/transactions/{transactionId}": {
"get": {
"tags": [
"Self Client"
],
"summary": "Retrieve a Client Transaction",
"description": "Retrieves a Client TransactionExample Requests:\n\nself/clients/1/transactions/1\n\n\nself/clients/1/transactions/1?fields=id,officeName",
"operationId": "retrieveClientTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfClientsClientIdTransactionsTransactionIdResponse"
}
}
}
}
},
"/self/clients/{clientId}/accounts": {
"get": {
"tags": [
"Self Client"
],
"summary": "Retrieve client accounts overview",
"description": "An example of how a loan portfolio summary can be provided. This is requested in a specific use case of the community application.\nIt is quite reasonable to add resources like this to simplify User Interface development.\n\nExample Requests:\n\nself/clients/1/accounts\n\n\nself/clients/1/accounts?fields=loanAccounts,savingsAccounts",
"operationId": "retrieveAssociatedAccounts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfClientsClientIdAccountsResponse"
}
}
}
}
},
"/self/clients/{clientId}/obligeedetails": {
"get": {
"tags": [
"Self Client"
],
"operationId": "retrieveObligeeDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/clients": {
"get": {
"tags": [
"Self Client"
],
"summary": "List Clients associated to the user",
"description": "The list capability of clients can support pagination and sorting.\n\nExample Requests:\n\nself/clients\n\nself/clients?fields=displayName,officeName\n\nself/clients?offset=10&limit=50\n\nself/clients?orderBy=displayName&sortOrder=DESC",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "displayName",
"in": "query",
"description": "displayName",
"required": false,
"type": "string"
},
{
"name": "firstName",
"in": "query",
"description": "firstName",
"required": false,
"type": "string"
},
{
"name": "lastName",
"in": "query",
"description": "lastName",
"required": false,
"type": "string"
},
{
"name": "offset",
"in": "query",
"description": "offset",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"description": "limit",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"description": "orderBy",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"description": "sortOrder",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfClientsResponse"
}
}
}
}
},
"/self/clients/{clientId}": {
"get": {
"tags": [
"Self Client"
],
"summary": "Retrieve a Client",
"description": "Retrieves a Client\n\nExample Requests:\n\nself/clients/1\n\nself/clients/1?fields=id,displayName,officeName",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"description": "clientId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfClientsClientIdResponse"
}
}
}
}
},
"/self/loans/{loanId}/transactions/{transactionId}": {
"get": {
"tags": [
"Self Loans"
],
"summary": "Retrieve a Loan Transaction Details",
"description": "Retrieves a Loan Transaction DetailsExample Request:\n\nself/loans/5/transactions/3",
"operationId": "retrieveTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfLoansLoanIdTransactionsTransactionIdResponse"
}
}
}
}
},
"/self/loans/{loanId}/charges": {
"get": {
"tags": [
"Self Loans"
],
"summary": "List Loan Charges",
"description": "Lists loan Charges\n\nExample Requests:\n\nself/loans/1/charges\n\n\nself/loans/1/charges?fields=name,amountOrPercentage",
"operationId": "retrieveAllLoanCharges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetSelfLoansLoanIdChargesResponse"
}
}
}
}
}
},
"/self/loans/{loanId}/charges/{chargeId}": {
"get": {
"tags": [
"Self Loans"
],
"summary": "Retrieve a Loan Charge",
"description": "Retrieves a Loan Charge\n\nExample Requests:\n\nself/loans/1/charges/1\n\n\nself/loans/1/charges/1?fields=name,amountOrPercentage",
"operationId": "retrieveLoanCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeId",
"in": "path",
"description": "chargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfLoansLoanIdChargesResponse"
}
}
}
}
},
"/self/loans/{loanId}": {
"get": {
"tags": [
"Self Loans"
],
"summary": "Retrieve a Loan",
"description": "Retrieves a Loan\n\nExample Requests:\n\nself/loans/1\n\n\nself/loans/1?fields=id,principal,annualInterestRate\n\n\nself/loans/1?fields=id,principal,annualInterestRate&associations=repaymentSchedule,transactions",
"operationId": "retrieveLoan",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfLoansLoanIdResponse"
}
}
}
},
"post": {
"tags": [
"Self Loans"
],
"summary": "Applicant Withdraws from Loan Application",
"description": "Applicant Withdraws from Loan Application\n\nMandatory Fields: withdrawnOnDate",
"operationId": "stateTransitions",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSelfLoansLoanIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSelfLoansLoanIdResponse"
}
}
}
},
"put": {
"tags": [
"Self Loans"
],
"summary": "Update a Loan Application",
"description": "Loan application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method.",
"operationId": "modifyLoanApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"description": "loanId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutSelfLoansLoanIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutSelfLoansLoanIdResponse"
}
}
}
}
},
"/self/loans": {
"post": {
"tags": [
"Self Loans"
],
"summary": "Calculate Loan Repayment Schedule | Submit a new Loan Application",
"description": "Calculate Loan Repayment Schedule:\n\nCalculates Loan Repayment Schedule\n\nMandatory Fields: productId, principal, loanTermFrequency, loanTermFrequencyType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, expectedDisbursementDate, transactionProcessingStrategyId\n\nSubmit a new Loan Application:\n\nMandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType\n\nAdditional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate\n\nAdditional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate\n\nAdditional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables\n\nOptional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true)\n\nShowing request/response for 'Submit a new Loan Application'",
"operationId": "calculateLoanScheduleOrSubmitLoanApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostSelfLoansRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSelfLoansResponse"
}
}
}
}
},
"/self/loans/{loanId}/guarantors": {
"get": {
"tags": [
"Self Loans"
],
"operationId": "retrieveGuarantorDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "loanId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/loans/template": {
"get": {
"tags": [
"Self Loans"
],
"summary": "Retrieve Loan Details Template",
"description": "Retrieves Loan Details Template\n\nThis is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\n\nField Defaults\nAllowed Value Lists\n\nExample Requests:\n\nself/loans/template?templateType=individual&clientId=1\n\n\nself/loans/template?templateType=individual&clientId=1&productId=1",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "templateType",
"in": "query",
"description": "templateType",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfLoansTemplateResponse"
}
}
}
}
},
"/self/pockets": {
"get": {
"tags": [
"Pocket"
],
"summary": "Retrieve accounts linked to pocket",
"description": "All linked loan\n\nExample Requests:\n\n\nself/pockets",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetAccountsLinkedToPocketResponse"
}
}
}
},
"post": {
"tags": [
"Pocket"
],
"summary": "Link/delink accounts to/from pocket",
"description": "Pockets behave as favourites. An user can link his/her Loan, Savings and Share accounts to pocket for faster access. In a similar way linked accounts can be delinked from the pocket.\n\nExample Requests:\n\nself/pockets?command=linkAccounts\n\nself/pockets?command=delinkAccounts",
"operationId": "handleCommands",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"description": "command",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostLinkDelinkAccountsToFromPocketResponse"
}
}
}
}
},
"/self/loanproducts/{productId}": {
"get": {
"tags": [
"Self Loan Products"
],
"operationId": "retrieveLoanProductDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/loanproducts": {
"get": {
"tags": [
"Self Loan Products"
],
"operationId": "retrieveAllLoanProducts",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/registration": {
"post": {
"tags": [
"Self Service Registration"
],
"operationId": "createSelfServiceRegistrationRequest",
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/registration/user": {
"post": {
"tags": [
"Self Service Registration"
],
"operationId": "createSelfServiceUser",
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/runreports/{reportName}": {
"get": {
"tags": [
"Self Run Report "
],
"summary": "Running A Report",
"description": "Example Requests:\n\n\nself/runreports/Client%20Details?R_officeId=1\n\n\nself/runreports/Client%20Details?R_officeId=1&exportCSV=true",
"operationId": "runReport",
"consumes": [
"application/json"
],
"produces": [
"application/json",
"text/csv",
"application/vnd.ms-excel",
"application/pdf",
"text/html"
],
"parameters": [
{
"name": "reportName",
"in": "path",
"description": "reportName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetRunReportResponse"
}
}
}
}
},
"/self/savingsaccounts/{accountId}/transactions/{transactionId}": {
"get": {
"tags": [
"Self Savings Account"
],
"summary": "Retrieve Savings Account Transaction",
"description": "Retrieves Savings Account Transaction\n\nExample Requests:\n\nself/savingsaccounts/1/transactions/1",
"operationId": "retrieveSavingsTransaction",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "transactionId",
"in": "path",
"description": "transactionId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfSavingsAccountsAccountIdTransactionsTransactionIdResponse"
}
}
}
}
},
"/self/savingsaccounts/{accountId}/charges": {
"get": {
"tags": [
"Self Savings Account"
],
"summary": "List Savings Charges",
"description": "Lists Savings Charges\n\nExample Requests:\n\nself/savingsaccounts/1/charges\n\nself/savingsaccounts/1/charges?chargeStatus=inactive\n\nself/savingsaccounts/1/charges?fields=name,amountOrPercentage",
"operationId": "retrieveAllSavingsAccountCharges",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetSelfSavingsAccountsAccountIdChargesResponse"
}
}
}
}
}
},
"/self/savingsaccounts/{accountId}/charges/{savingsAccountChargeId}": {
"get": {
"tags": [
"Self Savings Account"
],
"summary": "Retrieve a Savings account Charge",
"description": "Retrieves a Savings account Charge\n\nExample Requests:\n\nself/savingsaccounts/1/charges/5\n\n\nself/savingsaccounts/1/charges/5?fields=name,amountOrPercentage",
"operationId": "retrieveSavingsAccountCharge",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "savingsAccountChargeId",
"in": "path",
"description": "savingsAccountChargeId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfSavingsAccountsAccountIdChargesSavingsAccountChargeIdResponse"
}
}
}
}
},
"/self/savingsaccounts/{accountId}": {
"get": {
"tags": [
"Self Savings Account"
],
"summary": "Retrieve a savings account",
"description": "Retrieves a savings account\n\nExample Requests :\n\nself/savingsaccounts/1\n\n\nself/savingsaccounts/1?associations=transactions",
"operationId": "retrieveSavings",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"description": "accountId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "chargeStatus",
"in": "query",
"description": "chargeStatus",
"required": false,
"type": "string",
"default": "all"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfSavingsAccountsResponse"
}
}
}
},
"put": {
"tags": [
"Self Savings Account"
],
"operationId": "modifySavingsAccountApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/savingsaccounts": {
"post": {
"tags": [
"Self Savings Account"
],
"operationId": "submitSavingsAccountApplication",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "command",
"in": "query",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/savingsaccounts/template": {
"get": {
"tags": [
"Self Savings Account"
],
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"required": false,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/authentication": {
"post": {
"tags": [
"Self Authentication"
],
"summary": "Verify authentication",
"description": "Authenticates the credentials provided and returns the set roles and permissions allowed.\n\nPlease visit this link for more info - https://demo.openmf.org/api-docs/apiLive.htm#selfbasicauth",
"operationId": "authenticate",
"produces": [
"application/json"
],
"parameters": [
{
"name": "username",
"in": "query",
"description": "username",
"required": false,
"type": "string"
},
{
"name": "password",
"in": "query",
"description": "password",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostSelfAuthenticationResponse"
}
}
}
}
},
"/self/user": {
"put": {
"tags": [
"Self User"
],
"summary": "Update User",
"description": "This API can be used by Self Service user to update their own user information. Currently, \"password\" and \"repeatPassword\" are the only parameters accepted.",
"operationId": "update",
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutSelfUserRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutSelfUserResponse"
}
}
}
}
},
"/self/userdetails": {
"get": {
"tags": [
"Self User Details"
],
"summary": "Fetch authenticated user details",
"description": "Checks the Authentication and returns the set roles and permissions allowed\n\nFor more info visit this link - https://demo.openmf.org/api-docs/apiLive.htm#selfoauth",
"operationId": "fetchAuthenticatedUserData",
"produces": [
"application/json"
],
"parameters": [
{
"name": "access_token",
"in": "query",
"description": "äccess_token",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetSelfUserDetailsResponse"
}
}
}
}
},
"/self/shareaccounts": {
"post": {
"tags": [
"Self Share Accounts"
],
"summary": "Submit new share application",
"description": "Mandatory fields:\n\nclientId, productId, submittedDate, savingsAccountId, requestedShares, applicationDate\n\n\nOptional Fields\n\naccountNo, externalId\n\n\nInherited from Product (if not provided)\n\nminimumActivePeriod, minimumActivePeriodFrequencyType, lockinPeriodFrequency, lockinPeriodFrequencyType.",
"operationId": "createAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PostNewShareApplicationResponse"
}
}
}
}
}
},
"/self/shareaccounts/{accountId}": {
"get": {
"tags": [
"Self Share Accounts"
],
"operationId": "retrieveShareAccount",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "accountId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/self/shareaccounts/template": {
"get": {
"tags": [
"Self Share Accounts"
],
"summary": "Retrieve Share Account Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:\nField Defaults\n\nAllowed Value Lists\n\n\nArguments\n\nclientId:Integer mandatory\nproductId:Integer optionalIf entered, productId, productName and selectedProduct fields are returned.\nExample Requests:\n\nself/shareaccounts/template?clientId=14\n\nself/shareaccounts/template?clientId=14&productId=3\n",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"description": "clientId",
"required": false,
"type": "integer",
"format": "int64"
},
{
"name": "productId",
"in": "query",
"description": "productId",
"required": false,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetShareAccountsClientIdProductIdResponse"
}
}
}
}
}
},
"/self/surveys/scorecards/{surveyId}": {
"post": {
"tags": [
"Self Score Card"
],
"operationId": "createScorecard",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"$ref": "#/definitions/ScorecardData"
}
}
],
"responses": {
"default": {
"description": "successful operation"
}
}
}
},
"/self/surveys/scorecards/clients/{clientId}": {
"get": {
"tags": [
"Self Score Card"
],
"operationId": "findByClient",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ScorecardData"
}
},
"headers": {}
}
}
}
},
"/self/surveys": {
"get": {
"tags": [
"Self Spm"
],
"operationId": "fetchAllSurveys",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SurveyData"
}
},
"headers": {}
}
}
}
},
"/shareproduct/{productId}/dividend/{dividendId}": {
"get": {
"tags": [
"Self Dividend"
],
"operationId": "retrieveDividendDetails",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "dividendId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "accountNo",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"Self Dividend"
],
"operationId": "updateDividendDetail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "dividendId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"required": false,
"type": "string"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"delete": {
"tags": [
"Self Dividend"
],
"operationId": "deleteDividendDetail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "dividendId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/shareproduct/{productId}/dividend": {
"get": {
"tags": [
"Self Dividend"
],
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "offset",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "limit",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
},
{
"name": "orderBy",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "sortOrder",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "status",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"post": {
"tags": [
"Self Dividend"
],
"operationId": "createDividendDetail",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "productId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/taxes/component": {
"get": {
"tags": [
"Tax Components"
],
"summary": "List Tax Components",
"description": "List Tax Components",
"operationId": "retrieveAllTaxComponents",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetTaxesComponentsResponse"
}
}
}
}
},
"post": {
"tags": [
"Tax Components"
],
"summary": "Create a new Tax Component",
"description": "Creates a new Tax Component\n\nMandatory Fields: name, percentage\n\nOptional Fields: debitAccountType, debitAcountId, creditAccountType, creditAcountId, startDate",
"operationId": "createTaxCompoent",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostTaxesComponentsRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostTaxesComponentsResponse"
}
}
}
}
},
"/taxes/component/{taxComponentId}": {
"get": {
"tags": [
"Tax Components"
],
"summary": "Retrieve Tax Component",
"description": "Retrieve Tax Component",
"operationId": "retrieveTaxComponent",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "taxComponentId",
"in": "path",
"description": "taxComponentId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetTaxesComponentsResponse"
}
}
}
},
"put": {
"tags": [
"Tax Components"
],
"summary": "Update Tax Component",
"description": "Updates Tax component. Debit and credit account details cannot be modified. All the future tax components would be replaced with the new percentage.",
"operationId": "updateTaxCompoent",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "taxComponentId",
"in": "path",
"description": "taxComponentId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutTaxesComponentsTaxComponentIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutTaxesComponentsTaxComponentIdResponse"
}
}
}
}
},
"/taxes/component/template": {
"get": {
"tags": [
"Tax Components"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/taxes/group/{taxGroupId}": {
"get": {
"tags": [
"Tax Group"
],
"summary": "Retrieve Tax Group",
"description": "Retrieve Tax Group",
"operationId": "retrieveTaxGroup",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "taxGroupId",
"in": "path",
"description": "taxGroupId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/GetTaxesGroupResponse"
}
}
}
},
"put": {
"tags": [
"Tax Group"
],
"summary": "Update Tax Group",
"description": "Updates Tax Group. Only end date can be up-datable and can insert new tax components.",
"operationId": "updateTaxGroup",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "taxGroupId",
"in": "path",
"description": "taxGroupId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutTaxesGroupTaxGroupIdRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PutTaxesGroupTaxGroupIdResponse"
}
}
}
}
},
"/taxes/group": {
"get": {
"tags": [
"Tax Group"
],
"summary": "List Tax Group",
"description": "List Tax Group",
"operationId": "retrieveAllTaxGroups",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetTaxesGroupResponse"
}
}
}
}
},
"post": {
"tags": [
"Tax Group"
],
"summary": "Create a new Tax Group",
"description": "Create a new Tax Group\nMandatory Fields: name and taxComponents\nMandatory Fields in taxComponents: taxComponentId\nOptional Fields in taxComponents: id, startDate and endDate",
"operationId": "createTaxGroup",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostTaxesGroupRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/PostTaxesGroupResponse"
}
}
}
}
},
"/taxes/group/template": {
"get": {
"tags": [
"Tax Group"
],
"operationId": "retrieveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/surveys/{surveyId}/lookuptables/{key}": {
"get": {
"tags": [
"SPM API - LookUp Table"
],
"summary": "Retrieve a Lookup Table entry",
"description": "Retrieve a Lookup Table entry for a survey.",
"operationId": "findLookupTable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyId",
"in": "path",
"description": "Enter surveyId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "key",
"in": "path",
"description": "Enter key",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/LookupTableData"
}
}
}
}
},
"/surveys/{surveyId}/lookuptables": {
"get": {
"tags": [
"SPM API - LookUp Table"
],
"summary": "List all Lookup Table entries",
"description": "List all Lookup Table entries for a survey.",
"operationId": "fetchLookupTables",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyId",
"in": "path",
"description": "Enter surveyId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/LookupTableData"
}
}
}
}
},
"post": {
"tags": [
"SPM API - LookUp Table"
],
"summary": "Create a Lookup Table entry",
"description": "Add a new entry to a survey.\n\nMandatory Fields\nkey, score, validFrom, validTo",
"operationId": "createLookupTable",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyId",
"in": "path",
"description": "Enter surveyId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"$ref": "#/definitions/LookupTableData"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/surveys/scorecards/{surveyId}": {
"get": {
"tags": [
"Score Card"
],
"summary": "List all Scorecard entries",
"description": "List all Scorecard entries for a survey.",
"operationId": "findBySurvey",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyId",
"in": "path",
"description": "Enter surveyId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Scorecard"
}
}
}
}
},
"post": {
"tags": [
"Score Card"
],
"summary": "Create a Scorecard entry",
"description": "Add a new entry to a survey.\n\nMandatory Fields\nclientId, createdOn, questionId, responseId, staffId",
"operationId": "createScorecard",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyId",
"in": "path",
"description": "Enter surveyId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"$ref": "#/definitions/ScorecardData"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/surveys/scorecards/clients/{clientId}": {
"get": {
"tags": [
"Score Card"
],
"operationId": "findByClient",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "clientId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ScorecardData"
}
},
"headers": {}
}
}
}
},
"/surveys/scorecards/{surveyId}/clients/{clientId}": {
"get": {
"tags": [
"Score Card"
],
"operationId": "findBySurveyAndClient",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "surveyId",
"in": "path",
"description": "Enter surveyId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "clientId",
"in": "path",
"description": "Enter clientId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ScorecardData"
}
},
"headers": {}
}
}
}
},
"/surveys": {
"get": {
"tags": [
"Spm-Surveys"
],
"summary": "List all Surveys",
"description": "",
"operationId": "fetchAllSurveys",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "isActive",
"in": "query",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/SurveyData"
}
}
}
}
},
"post": {
"tags": [
"Spm-Surveys"
],
"summary": "Create a Survey",
"description": "Adds a new survey to collect client related data.\n\nMandatory Fields\n\ncountryCode, key, name, questions, responses, sequenceNo, text, value",
"operationId": "createSurvey",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "Create survey",
"required": false,
"schema": {
"$ref": "#/definitions/SurveyData"
}
}
],
"responses": {
"200": {
"description": "OK"
}
}
}
},
"/surveys/{id}": {
"get": {
"tags": [
"Spm-Surveys"
],
"summary": "Retrieve a Survey",
"description": "",
"operationId": "findSurvey",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Enter id",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/SurveyData"
}
}
}
},
"post": {
"tags": [
"Spm-Surveys"
],
"summary": "Deactivate Survey",
"description": "",
"operationId": "activateOrDeactivateSurvey",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"name": "command",
"in": "query",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "OK"
}
}
},
"put": {
"tags": [
"Spm-Surveys"
],
"operationId": "editSurvey",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"$ref": "#/definitions/SurveyData"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/templates": {
"get": {
"tags": [
"User Generated Documents"
],
"summary": "Retrieve all UGDs",
"description": "Example Requests:\n\ntemplates\n\nIt is also possible to get specific UGDs by entity and type:\n\ntemplates?type=0&entity=0\n[Entity: Id]\n\n\n\n\n\nclient: 0, loan: 1\n\n[Type: Id]\n\n\n\nDocument: 0, E-Mail (not yet): 1, SMS: 2",
"operationId": "retrieveAll",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "typeId",
"in": "query",
"description": "typeId",
"required": false,
"type": "integer",
"default": -1,
"format": "int32"
},
{
"name": "entityId",
"in": "query",
"description": "entityId",
"required": false,
"type": "integer",
"default": -1,
"format": "int32"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTemplatesResponse"
}
}
}
},
"post": {
"tags": [
"User Generated Documents"
],
"summary": "Add a UGD",
"description": "Adds a new UGD.\n\nMandatory Fields\nname\n\n\n\nExample Requests:\n\ntemplates/1",
"operationId": "createTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PostTemplatesRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PostTemplatesResponse"
}
}
}
}
},
"/templates/{templateId}/template": {
"get": {
"tags": [
"User Generated Documents"
],
"operationId": "getTemplateByTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "templateId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
}
},
"/templates/{templateId}": {
"get": {
"tags": [
"User Generated Documents"
],
"summary": "Retrieve a UGD",
"description": "Example Requests:\n\ntemplates/1",
"operationId": "retrieveOne",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "templateId",
"in": "path",
"description": "templateId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTemplatesTemplateIdResponse"
}
}
}
},
"post": {
"tags": [
"User Generated Documents"
],
"operationId": "mergeTemplate",
"consumes": [
"application/json"
],
"produces": [
"text/html"
],
"parameters": [
{
"name": "templateId",
"in": "path",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"required": false,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"type": "string"
},
"headers": {}
}
}
},
"put": {
"tags": [
"User Generated Documents"
],
"summary": "Update a UGD",
"description": "",
"operationId": "saveTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "templateId",
"in": "path",
"description": "templateId",
"required": true,
"type": "integer",
"format": "int64"
},
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PutTemplatesTemplateIdRequest"
}
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/PutTemplatesTemplateIdResponse"
}
}
}
},
"delete": {
"tags": [
"User Generated Documents"
],
"summary": "Delete a UGD",
"description": "",
"operationId": "deleteTemplate",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"name": "templateId",
"in": "path",
"description": "templateId",
"required": true,
"type": "integer",
"format": "int64"
}
],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/DeleteTemplatesTemplateIdResponse"
}
}
}
}
},
"/templates/template": {
"get": {
"tags": [
"User Generated Documents"
],
"summary": "Retrieve UGD Details Template",
"description": "This is a convenience resource. It can be useful when building maintenance user interface screens for UGDs. The UGD data returned consists of any or all of:\n\nARGUMENTS\nname String entity String type String text String optional mappers Mapper optional\nExample Request:\n\ntemplates/template",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetTemplatesTemplateResponse"
}
}
}
}
},
"/passwordpreferences/template": {
"get": {
"tags": [
"Password preferences"
],
"summary": "List Application Password validation policies",
"description": "ARGUMENTS\nExample Requests:\n\npasswordpreferences",
"operationId": "template",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GetPasswordPreferencesTemplateResponse"
}
}
}
}
}
},
"/passwordpreferences": {
"get": {
"tags": [
"Password preferences"
],
"operationId": "retrieve",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [],
"responses": {
"200": {
"description": "",
"schema": {
"$ref": "#/definitions/GetPasswordPreferencesTemplateResponse"
}
}
}
},
"put": {
"tags": [
"Password preferences"
],
"summary": "Update password preferences",
"description": "",
"operationId": "update",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"parameters": [
{
"in": "body",
"name": "body",
"description": "body",
"required": true,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment