Organization
This page includes documentations related to the management of the organization.
Each organization may contain multiple branches, which contains multiple centres. Each centre can then contain multiple clients.
A client may be an individual client, managed by the Clients service, or a group client composed from multiple clients, which are managed by the Groups service.
Comments may be added for all clients by users but they cannot be deleted.
In addition, this page includes holidays for the organization, allowing the management of non-working days and general holidays (such as a public holiday).
BRANCHES
Package branches allows retrieving branches information.
CreateBranch
POST
/v1/branchesCreates a branch..
| Name | Description | Type |
|---|---|---|
| branch_id | The ID of the branch | String |
| info | The contact information of the branch | ContactInfo |
| notes | Extra human-readable notes about this branch | String |
| state | The current state of the branch | State |
| fields | The custom fields for the branch | JSON |
| create_time | The time the branch was created | Timestamp |
| update_time | The time the branch was last updated | Timestamp |
-
Name Description Type branch_id The ID of the branch String info The contact information of the branch ContactInfo notes Extra human-readable notes about this branch String state The current state of the branch State fields The custom fields for the branch JSON create_time The time the branch was created Timestamp update_time The time the branch was last updated Timestamp
ListBranches
GET
/v1/branchesLists branches..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token of the page to retrieve | String |
| page_size | The number of items to retrieve per page | Integer |
| order_by | The field to order the results by | String |
| filter | The filter to apply to the list | String |
-
Name Description Type total The total number of branches matching the filter Integer remaining The number of branches remaining in the list, including the branches in the response Integer branches The list of branches retrieved Array[Branch] next_page_token The token to use to retrieve the next page of branches String
GetBranch
GET
/v1/branches/{BranchID}Returns the branch with the specified BranchID..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| branch_id | The ID of the branch to retrieve | String |
-
Name Description Type branch_id The ID of the branch String info The contact information of the branch ContactInfo notes Extra human-readable notes about this branch String state The current state of the branch State fields The custom fields for the branch JSON create_time The time the branch was created Timestamp update_time The time the branch was last updated Timestamp
UpdateBranch
PUT
/v1/branches/{BranchID}Updates the specified branch..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| branch_id | The ID of branch present in Body | String |
| Name | Description | Type |
|---|---|---|
| branch_id | The ID of the branch | String |
| info | The contact information of the branch | ContactInfo |
| notes | Extra human-readable notes about this branch | String |
| state | The current state of the branch | State |
| fields | The custom fields for the branch | JSON |
| create_time | The time the branch was created | Timestamp |
| update_time | The time the branch was last updated | Timestamp |
-
Name Description Type branch_id The ID of the branch String info The contact information of the branch ContactInfo notes Extra human-readable notes about this branch String state The current state of the branch State fields The custom fields for the branch JSON create_time The time the branch was created Timestamp update_time The time the branch was last updated Timestamp
DeleteBranch
DELETE
/v1/branches/{BranchID}Deletes the specified branch..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| branch_id | The ID of branch to delete | String |
AddBranchHolidays
POST
/v1/branches/{BranchID}/holidays/{HolidayIDs}Adds the specified holidays to a branch..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| branch_id | The ID of the branch to update | String |
| holiday_ids | The IDs of the holidays to add | Array[String] |
ListBranchHolidays
GET
/v1/branches/{BranchID}/holidaysLists the holidays of a branch..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| branch_id | The ID of the branch to retrieve holidays for | String |
| page_token | The token of the page to retrieve | String |
| page_size | The number of items to retrieve per page | Integer |
| order_by | The field to order the results by | String |
| filter | The filter to apply to the list | String |
-
Name Description Type holidays A list of branch-specific holidays that may not apply to all branches in the organization Array[Holiday] next_page_token The token to use to retrieve the next page of branches String
RemoveBranchHolidays
DELETE
/v1/branches/{BranchID}/holidays/{HolidayIDs}Removes the specified holidays to a branch..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| branch_id | The ID of the branch to update | String |
| holiday_ids | The IDs of the holidays to remove | Array[String] |
COMMENTS
Package comments allows creating and retrieving comments.
CreateComment
POST
/v1/commentsCreates a comment..
| Name | Description | Type |
|---|---|---|
| comment_id | The ID of the comment | String |
| user_id | The ID of the user | String |
| owner_id | The ID of the holder of the comment | String |
| owner_type | The type of holder of the document | Owner |
| text | The content of the comment | String |
| create_time | When the comment was created | Timestamp |
| update_time | The time at which the comment was last updated | Timestamp |
-
Name Description Type comment_id The ID of the comment String user_id The ID of the user String owner_id The ID of the holder of the comment String owner_type The type of holder of the document Owner text The content of the comment String create_time When the comment was created Timestamp update_time The time at which the comment was last updated Timestamp
ListComments
GET
/v1/commentsLists comments..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token of the page to be returned | String |
| page_size | The number of comments to be returned | Integer |
| order_by | The field to order the comments by | String |
| filter | The filter to apply to the comments | String |
-
Name Description Type total The total number of comments matching the filter Integer remaining The number of comments remaining in the list, including the comments in the response Integer comments The list of comments Array[Comment] next_page_token The token of the next page String
GetComment
GET
/v1/comments/{CommentID}Retrieves the specified comment..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| comment_id | The ID of the comment to retrieve | String |
-
Name Description Type comment_id The ID of the comment String user_id The ID of the user String owner_id The ID of the holder of the comment String owner_type The type of holder of the document Owner text The content of the comment String create_time When the comment was created Timestamp update_time The time at which the comment was last updated Timestamp
DOCUMENTS
Package documents manages creating, retrieving, and deleting documents.
CreateDocument
POST
/v1/docsCreates a new document..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| owner_id | The ID of the entity that owns the document | String |
| name | The name of the document | String |
| notes | The extra details of the document | String |
| owner_type | The type of the entity that owns the document | Owner |
| Name | Description | Type |
|---|---|---|
| content | The raw content of the file encoded in base64 | Bytes |
-
Name Description Type document_id The document ID String name The name of the document String notes The notes and details of the document String owner_id The ID of the entity that owns this document String owner_type The type of entity that owns the document Owner template_id The ID of the template the document was based on, if any String file_name The original file name String size The size of the document in bytes Integer create_time The time the document was created Timestamp expire_time The time the document expires or become invalid, if any Timestamp
ListDocuments
GET
/v1/docsLists document metadatas for the specified owner..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| owner_id | The ID of the entity that owns the document | String |
| page_token | The token of the page to be returned | String |
| page_size | The number of documents to be returned | Integer |
| order_by | The field to order the documents by | String |
| filter | The filter to apply to the documents | String |
-
Name Description Type total The total number of documents matching the filter Integer remaining The number of documents remaining in the list, including the documents in the response Integer documents A list of metadatas about the documents requested Array[Document] next_page_token The token of the next page String
GetDocument
GET
/v1/docs/{DocumentID}Retrieves the metadata of the specified document..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| document_id | The ID of the document to be retrieved | String |
-
Name Description Type document_id The document ID String name The name of the document String notes The notes and details of the document String owner_id The ID of the entity that owns this document String owner_type The type of entity that owns the document Owner template_id The ID of the template the document was based on, if any String file_name The original file name String size The size of the document in bytes Integer create_time The time the document was created Timestamp expire_time The time the document expires or become invalid, if any Timestamp
GetFile
GET
/v1/docs/{DocumentID}/fileReturns the document for the specified document id..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| document_id | The ID of the document | String |
-
Name Description Type content The raw content of the file encoded in base64 Bytes
DeleteDocument
DELETE
/v1/docs/{DocumentID}Deletes the document with the specified document id..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| document_id | The ID of the document | String |
NOTIFICATIONS
Package notifications is the internal notification service.
CreateNotification
POST
/v1/notificationsSends a new notification..
| Name | Description | Type |
|---|---|---|
| notification_id | The ID of the notification | String |
| user_id | The ID of the user the message was sent to | String |
| client_id | The ID of the client the message was sent to | String |
| group_id | The ID of the group the message was sent to | String |
| deposit_account_id | The ID of the deposit account the message is related to | String |
| loan_account_id | The ID of the loan account the message is related to | String |
| repayment_id | The ID of the repayment about which the message was sent | String |
| type | The type of the notification | Type |
| event | The event that triggered the notification | Event |
| status | The status of the notification | Status |
| template_id | The ID of the template used to generate the message | String |
| destination | The destination of the notification such as the email, phone number (SMS) or the webhook URL | String |
| sender_id | The ID of the sender | String |
| subject | The subject of the message | String |
| body | The message content | Bytes |
| num_retries | The number of retries to send the message | Integer |
| create_time | The time the notification was created | Timestamp |
| send_time | The time the notificaiton was sent | Timestamp |
| failure_reason | The reason the message failed to send | FailureReason |
| failure_cause | The cause of the failure | String |
-
Name Description Type notification_id The ID of the notification String user_id The ID of the user the message was sent to String client_id The ID of the client the message was sent to String group_id The ID of the group the message was sent to String deposit_account_id The ID of the deposit account the message is related to String loan_account_id The ID of the loan account the message is related to String repayment_id The ID of the repayment about which the message was sent String type The type of the notification Type event The event that triggered the notification Event status The status of the notification Status template_id The ID of the template used to generate the message String destination The destination of the notification such as the email, phone number (SMS) or the webhook URL String sender_id The ID of the sender String subject The subject of the message String body The message content Bytes num_retries The number of retries to send the message Integer create_time The time the notification was created Timestamp send_time The time the notificaiton was sent Timestamp failure_reason The reason the message failed to send FailureReason failure_cause The cause of the failure String
ListNotifications
GET
/v1/notificationsLists notifications..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token of the page to return | String |
| page_size | The number of notifications to return | Integer |
| order_by | The field to order notifications by | String |
| filter | The filter to apply to the notifications | String |
-
Name Description Type total The total number of notifications matching the filter Integer remaining The number of notifications remaining in the list, including the notifications in the response Integer notifications The list of notifications Array[Notification] next_page_token The token of the next page String
GetNotification
GET
/v1/notifications/{NotificationID}Retrieves the specified notification..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| notification_id | The ID of the notification to retrieve | String |
-
Name Description Type notification_id The ID of the notification String user_id The ID of the user the message was sent to String client_id The ID of the client the message was sent to String group_id The ID of the group the message was sent to String deposit_account_id The ID of the deposit account the message is related to String loan_account_id The ID of the loan account the message is related to String repayment_id The ID of the repayment about which the message was sent String type The type of the notification Type event The event that triggered the notification Event status The status of the notification Status template_id The ID of the template used to generate the message String destination The destination of the notification such as the email, phone number (SMS) or the webhook URL String sender_id The ID of the sender String subject The subject of the message String body The message content Bytes num_retries The number of retries to send the message Integer create_time The time the notification was created Timestamp send_time The time the notificaiton was sent Timestamp failure_reason The reason the message failed to send FailureReason failure_cause The cause of the failure String
ResendByDate
POST
/v1/notifications:resendDateResends all notifications within a time range..
| Name | Description | Type |
|---|---|---|
| types | The types of notifications to resent | Array[Type] |
| start_time | The starting time for the filter | Timestamp |
| end_time | The ending time for the filter | Timestamp |
ResendNotification
POST
/v1/notifications/{NotificationID}:resendResend the specified notification..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| notification_id | The ID of the notification to resend | String |
ORG
Package org allows retrieving and managing the organization's configuration.
GetConfig
GET
/v1/organization/accountingGets the current accounting rules configuration..
-
Name Description Type default_gl_code The default GL code for processing inter-branch transactions String custom_rules Inter-branch GL Account rules Array[TransferRule] closure_interval The number of days between the execution of automated accounting closures Integer
UpdateConfig
PUT
/v1/organization/accountingUpdates the accounting configuration..
| Name | Description | Type |
|---|---|---|
| default_gl_code | The default GL code for processing inter-branch transactions | String |
| custom_rules | Inter-branch GL Account rules | Array[TransferRule] |
| closure_interval | The number of days between the execution of automated accounting closures | Integer |
-
Name Description Type default_gl_code The default GL code for processing inter-branch transactions String custom_rules Inter-branch GL Account rules Array[TransferRule] closure_interval The number of days between the execution of automated accounting closures Integer
CreateChannel
POST
/v1/organization/channelsCreates a new transaction channel..
| Name | Description | Type |
|---|---|---|
| channel_id | The ID of the channel | String |
| gl_account | The associated GL account with the transaction channel | String |
| name | The user-defined name of the transaction channel | String |
| loans_constraints | The constraints of loan transactions using the transaction channel | ChannelConstraints |
| deposit_constraints | The constraints of deposit transactions using the transaction channel | ChannelConstraints |
| state | The current status of the transaction channel | State |
| default | A flag that picks the channel by default in the UI, setting a channel to default will remove the default flag from all other channels | Boolean |
| allowed_users | A list of users for the transaction channel | Array[String] |
-
Name Description Type channel_id The ID of the channel String gl_account The associated GL account with the transaction channel String name The user-defined name of the transaction channel String loans_constraints The constraints of loan transactions using the transaction channel ChannelConstraints deposit_constraints The constraints of deposit transactions using the transaction channel ChannelConstraints state The current status of the transaction channel State default A flag that picks the channel by default in the UI, setting a channel to default will remove the default flag from all other channels Boolean allowed_users A list of users for the transaction channel Array[String]
ListChannels
GET
/v1/organization/channelsLists all transaction channels..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token to use for pagination | String |
| page_size | The size of the page | Integer |
| order_by | The field to order by | String |
| filter | The filter to apply to the results | String |
-
Name Description Type total The total number of channels matching the filter Integer remaining The number of channels remaining in the list, including the channels in the response Integer channels The list of channels listed Array[Channel] next_page_token The token to use for the next page String
GetChannel
GET
/v1/organization/channels/{ChannelID}Retrieves a transaction channel..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| channel_id | The ID of the channel to retrieve | String |
-
Name Description Type channel_id The ID of the channel String gl_account The associated GL account with the transaction channel String name The user-defined name of the transaction channel String loans_constraints The constraints of loan transactions using the transaction channel ChannelConstraints deposit_constraints The constraints of deposit transactions using the transaction channel ChannelConstraints state The current status of the transaction channel State default A flag that picks the channel by default in the UI, setting a channel to default will remove the default flag from all other channels Boolean allowed_users A list of users for the transaction channel Array[String]
UpdateChannel
PUT
/v1/organization/channels/{ChannelID}Updates an existing transaction channel..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| channel_id | The ID of the channel to update | String |
| Name | Description | Type |
|---|---|---|
| channel_id | The ID of the channel | String |
| gl_account | The associated GL account with the transaction channel | String |
| name | The user-defined name of the transaction channel | String |
| loans_constraints | The constraints of loan transactions using the transaction channel | ChannelConstraints |
| deposit_constraints | The constraints of deposit transactions using the transaction channel | ChannelConstraints |
| state | The current status of the transaction channel | State |
| default | A flag that picks the channel by default in the UI, setting a channel to default will remove the default flag from all other channels | Boolean |
| allowed_users | A list of users for the transaction channel | Array[String] |
-
Name Description Type channel_id The ID of the channel String gl_account The associated GL account with the transaction channel String name The user-defined name of the transaction channel String loans_constraints The constraints of loan transactions using the transaction channel ChannelConstraints deposit_constraints The constraints of deposit transactions using the transaction channel ChannelConstraints state The current status of the transaction channel State default A flag that picks the channel by default in the UI, setting a channel to default will remove the default flag from all other channels Boolean allowed_users A list of users for the transaction channel Array[String]
DeleteChannel
DELETE
/v1/organization/channels/{ChannelID}Deletes a transaction channel by ID..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| channel_id | The ID of the channel to delete | String |
CreateHoliday
POST
/v1/organization/holidays/generalCreates a new holiday..
| Name | Description | Type |
|---|---|---|
| holiday_id | The ID of the holiday | String |
| name | The name of the holiday | String |
| date | The date of the holiday | Timestamp |
| is_annually_recurring | True if the holiday is annual | Boolean |
| create_time | The date the holiday was created | Timestamp |
-
Name Description Type holiday_id The ID of the holiday String name The name of the holiday String date The date of the holiday Timestamp is_annually_recurring True if the holiday is annual Boolean create_time The date the holiday was created Timestamp
ListHolidays
GET
/v1/organization/holidays/generalLists holidays..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token to use for pagination | String |
| page_size | The number of items to return per page | Integer |
| order_by | The field to order by | String |
| filter | The filter to apply to the results | String |
-
Name Description Type total The total number of holidays matching the filter Integer remaining The number of holidays remaining in the list, including the holidays in the response Integer holidays The list of holidays listed Array[Holiday] next_page_token The token to use for the next page String
GetHoliday
GET
/v1/organization/holidays/general/{HolidayID}Retrieves the specified holiday..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| holiday_id | The ID of the holiday to retrieve | String |
-
Name Description Type holiday_id The ID of the holiday String name The name of the holiday String date The date of the holiday Timestamp is_annually_recurring True if the holiday is annual Boolean create_time The date the holiday was created Timestamp
UpdateHoliday
PUT
/v1/organization/holidays/general/{HolidayID}Updates the specified holiday..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| holiday_id | The ID of the holiday to update | String |
| Name | Description | Type |
|---|---|---|
| holiday_id | The ID of the holiday | String |
| name | The name of the holiday | String |
| date | The date of the holiday | Timestamp |
| is_annually_recurring | True if the holiday is annual | Boolean |
| create_time | The date the holiday was created | Timestamp |
-
Name Description Type holiday_id The ID of the holiday String name The name of the holiday String date The date of the holiday Timestamp is_annually_recurring True if the holiday is annual Boolean create_time The date the holiday was created Timestamp
DeleteHoliday
DELETE
/v1/organization/holidays/general/{HolidayID}Deletes the specified holiday..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| holiday_id | The ID of the holiday to delete | String |
GetNonWorkingDays
GET
/v1/organization/holidays/nonworkingdaysRetrieves the list of non-working days..
-
Name Description Type non_working_days The days of the week that are not working days Array[Day]
UpdateNonWorkingDays
PUT
/v1/organization/holidays/nonworkingdaysUpdates the list of non-working days..
| Name | Description | Type |
|---|---|---|
| non_working_days | The days of the week that are not working days | Array[Day] |
-
Name Description Type non_working_days The days of the week that are not working days Array[Day]
GetOrganization
GET
/v1/organizationRetrieves the details of the organization..
-
Name Description Type info The contact information for the organization ContactInfo currency_code The code of the main currency used by the organization String date_format The format for date values String date_time_format The format for date-time values String timezone The timezone for the organization in the format "Asia/Jakarta" String create_time The time the organization is setup Timestamp update_time The time the organization setup was last updated Timestamp
UpdateOrganization
PUT
/v1/organizationUpdates the details of the organization..
| Name | Description | Type |
|---|---|---|
| info | The contact information for the organization | ContactInfo |
| currency_code | The code of the main currency used by the organization | String |
| date_format | The format for date values | String |
| date_time_format | The format for date-time values | String |
| timezone | The timezone for the organization in the format "Asia/Jakarta" | String |
| create_time | The time the organization is setup | Timestamp |
| update_time | The time the organization setup was last updated | Timestamp |
-
Name Description Type info The contact information for the organization ContactInfo currency_code The code of the main currency used by the organization String date_format The format for date values String date_time_format The format for date-time values String timezone The timezone for the organization in the format "Asia/Jakarta" String create_time The time the organization is setup Timestamp update_time The time the organization setup was last updated Timestamp
GetSetup
GET
/v1/organization/setupRetrieves the general setup..
-
Name Description Type accounting_cut_off_time The time accounting is cut off everyday Timestamp arrears_days_before_write_off The number of days required before an account can be written off Integer assignment_constraints A list of assignments required for Clients and Groups Array[AssignmentConstraint] automated_accounting_closures_interval The interval between the execution of automated accounting closures Duration client_id_format The format used to generate client IDs String group_id_format The format used to generate group IDs String line_of_credit_id_format The format used to generate line of credit IDs String date_formats The format of date and time used in the user interface Map<String, String> enabled_components The list of all enabled components Array[AppComponent] dashboard_components The list of components in the dashboard Array[DashboardComponent] decimal_separator The symbol that marks the border between integer and fraction part of a decimal number DecimalSeparator defaults The default values and settings for the organization Defaults client_checks A list of client-side constraints to enforce Array[DuplicateItemType] client_constraint_action The action to be taken when the duplicate client validation fails ConstraintAction end_of_day_mode The method end-of-day processing is done EndOfDayMode exposure_amount The hard cap on maximum amount of loans a client can have Amount exposure_type The type of hard cap enforced ExposureType min_group_size_limit The minimum size of a group Integer max_group_size_limit The maximum size of a group Integer group_size_limit_type The type of group size limit enforced GroupSizeLimitType inter_branch_transfer_gl_account_id The ID of the GL account to use for inter-branch transfers String max_allowed_id_document_attachments The maximum number of ID document allowed Integer max_allowed_journal_entry_document_attachments The maximum number of attachments allowed in a journal entry Integer max_allowed_undo_closure_period The maximum number of days that users are allowed to undo closing obligations for a loan account Integer max_client_groups The maximum number of groups a client can belong to Integer max_loans The maximum number of loans Integer allow_other_id_documents A flag to enable other types of IDs Boolean overdraft_interest_date The date used when computing overdraft interests Timestamp min_disbursal_approval_required The number of users required to approve a disbursal Integer min_loan_approval_required The number of users required to create and approve a loan account Integer
UpdateSetup
PUT
/v1/organization/setupUpdates the general setup..
| Name | Description | Type |
|---|---|---|
| accounting_cut_off_time | The time accounting is cut off everyday | Timestamp |
| arrears_days_before_write_off | The number of days required before an account can be written off | Integer |
| assignment_constraints | A list of assignments required for Clients and Groups | Array[AssignmentConstraint] |
| automated_accounting_closures_interval | The interval between the execution of automated accounting closures | Duration |
| client_id_format | The format used to generate client IDs | String |
| group_id_format | The format used to generate group IDs | String |
| line_of_credit_id_format | The format used to generate line of credit IDs | String |
| date_formats | The format of date and time used in the user interface | Map<String, String> |
| enabled_components | The list of all enabled components | Array[AppComponent] |
| dashboard_components | The list of components in the dashboard | Array[DashboardComponent] |
| decimal_separator | The symbol that marks the border between integer and fraction part of a decimal number | DecimalSeparator |
| defaults | The default values and settings for the organization | Defaults |
| client_checks | A list of client-side constraints to enforce | Array[DuplicateItemType] |
| client_constraint_action | The action to be taken when the duplicate client validation fails | ConstraintAction |
| end_of_day_mode | The method end-of-day processing is done | EndOfDayMode |
| exposure_amount | The hard cap on maximum amount of loans a client can have | Amount |
| exposure_type | The type of hard cap enforced | ExposureType |
| min_group_size_limit | The minimum size of a group | Integer |
| max_group_size_limit | The maximum size of a group | Integer |
| group_size_limit_type | The type of group size limit enforced | GroupSizeLimitType |
| inter_branch_transfer_gl_account_id | The ID of the GL account to use for inter-branch transfers | String |
| max_allowed_id_document_attachments | The maximum number of ID document allowed | Integer |
| max_allowed_journal_entry_document_attachments | The maximum number of attachments allowed in a journal entry | Integer |
| max_allowed_undo_closure_period | The maximum number of days that users are allowed to undo closing obligations for a loan account | Integer |
| max_client_groups | The maximum number of groups a client can belong to | Integer |
| max_loans | The maximum number of loans | Integer |
| allow_other_id_documents | A flag to enable other types of IDs | Boolean |
| overdraft_interest_date | The date used when computing overdraft interests | Timestamp |
| min_disbursal_approval_required | The number of users required to approve a disbursal | Integer |
| min_loan_approval_required | The number of users required to create and approve a loan account | Integer |
-
Name Description Type accounting_cut_off_time The time accounting is cut off everyday Timestamp arrears_days_before_write_off The number of days required before an account can be written off Integer assignment_constraints A list of assignments required for Clients and Groups Array[AssignmentConstraint] automated_accounting_closures_interval The interval between the execution of automated accounting closures Duration client_id_format The format used to generate client IDs String group_id_format The format used to generate group IDs String line_of_credit_id_format The format used to generate line of credit IDs String date_formats The format of date and time used in the user interface Map<String, String> enabled_components The list of all enabled components Array[AppComponent] dashboard_components The list of components in the dashboard Array[DashboardComponent] decimal_separator The symbol that marks the border between integer and fraction part of a decimal number DecimalSeparator defaults The default values and settings for the organization Defaults client_checks A list of client-side constraints to enforce Array[DuplicateItemType] client_constraint_action The action to be taken when the duplicate client validation fails ConstraintAction end_of_day_mode The method end-of-day processing is done EndOfDayMode exposure_amount The hard cap on maximum amount of loans a client can have Amount exposure_type The type of hard cap enforced ExposureType min_group_size_limit The minimum size of a group Integer max_group_size_limit The maximum size of a group Integer group_size_limit_type The type of group size limit enforced GroupSizeLimitType inter_branch_transfer_gl_account_id The ID of the GL account to use for inter-branch transfers String max_allowed_id_document_attachments The maximum number of ID document allowed Integer max_allowed_journal_entry_document_attachments The maximum number of attachments allowed in a journal entry Integer max_allowed_undo_closure_period The maximum number of days that users are allowed to undo closing obligations for a loan account Integer max_client_groups The maximum number of groups a client can belong to Integer max_loans The maximum number of loans Integer allow_other_id_documents A flag to enable other types of IDs Boolean overdraft_interest_date The date used when computing overdraft interests Timestamp min_disbursal_approval_required The number of users required to approve a disbursal Integer min_loan_approval_required The number of users required to create and approve a loan account Integer
CLIENTS
Package clients defines services for working with bank clients.
CreateClient
POST
/v1/clientsCreates a new client..
| Name | Description | Type |
|---|---|---|
| client_id | The ID of the client | String |
| info | The contact information of the client | ContactInfo |
| assigned_branch_id | The ID of the branch the client is assigned to | String |
| assigned_centre_id | The ID of the centre the client is assigned to | String |
| assigned_user_id | The ID of the user the client is assigned to | String |
| birthday | The birthday of the client | Timestamp |
| role_id | The ID of the role assigned to the client | String |
| gender | The gender of the client | Gender |
| group_loan_cycle | A number of paid and closed (with 'obligations met') accounts for the client group | Integer |
| loan_cycle | The number of paid and closed accounts for the client, when the opening rotation is reversed | Integer |
| portal_settings | The portal settings for the client | PortalSettings |
| migration_event_id | The migration event ID for the client | String |
| profile_picture_id | The ID of the file the profile picture of the client is stored in | String |
| profile_signature_id | The ID of the file the user picture signature is stored in | String |
| state | The current state of the client | State |
| notes | Extra human-readable text on the client | String |
| create_time | The time when the client was created | Timestamp |
| update_time | The time the client was last updated | Timestamp |
| approve_time | The time the client was approved | Timestamp |
| activate_time | The time the client was set as active for the first time | Timestamp |
| close_time | The time the client was closed | Timestamp |
-
Name Description Type client_id The ID of the client String info The contact information of the client ContactInfo assigned_branch_id The ID of the branch the client is assigned to String assigned_centre_id The ID of the centre the client is assigned to String assigned_user_id The ID of the user the client is assigned to String birthday The birthday of the client Timestamp role_id The ID of the role assigned to the client String gender The gender of the client Gender group_loan_cycle A number of paid and closed (with 'obligations met') accounts for the client group Integer loan_cycle The number of paid and closed accounts for the client, when the opening rotation is reversed Integer portal_settings The portal settings for the client PortalSettings migration_event_id The migration event ID for the client String profile_picture_id The ID of the file the profile picture of the client is stored in String profile_signature_id The ID of the file the user picture signature is stored in String state The current state of the client State notes Extra human-readable text on the client String create_time The time when the client was created Timestamp update_time The time the client was last updated Timestamp approve_time The time the client was approved Timestamp activate_time The time the client was set as active for the first time Timestamp close_time The time the client was closed Timestamp
ListClients
GET
/v1/clientsLists clients..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| filter | The filter to apply to the search | String |
| order_by | The order to apply to the search | String |
| page_size | The number of clients to return per page | Integer |
| page_token | The token of the page to return | String |
-
Name Description Type total The total number of clients matching the filter Integer remaining The number of clients remaining in the list, including the clients in the response Integer clients The retrieved clients Array[Client] next_page_token The token used to retrieve the next page String
GetClient
GET
/v1/clients/{ClientID}Returns the clients with the specified ids..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| client_id | The ID of the clients to retrieve | String |
-
Name Description Type client_id The ID of the client String info The contact information of the client ContactInfo assigned_branch_id The ID of the branch the client is assigned to String assigned_centre_id The ID of the centre the client is assigned to String assigned_user_id The ID of the user the client is assigned to String birthday The birthday of the client Timestamp role_id The ID of the role assigned to the client String gender The gender of the client Gender group_loan_cycle A number of paid and closed (with 'obligations met') accounts for the client group Integer loan_cycle The number of paid and closed accounts for the client, when the opening rotation is reversed Integer portal_settings The portal settings for the client PortalSettings migration_event_id The migration event ID for the client String profile_picture_id The ID of the file the profile picture of the client is stored in String profile_signature_id The ID of the file the user picture signature is stored in String state The current state of the client State notes Extra human-readable text on the client String create_time The time when the client was created Timestamp update_time The time the client was last updated Timestamp approve_time The time the client was approved Timestamp activate_time The time the client was set as active for the first time Timestamp close_time The time the client was closed Timestamp
UpdateClient
PUT
/v1/clients/{ClientID}Modifies an existing client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| client_id | The ID of the client to update | String |
| Name | Description | Type |
|---|---|---|
| client_id | The ID of the client | String |
| info | The contact information of the client | ContactInfo |
| assigned_branch_id | The ID of the branch the client is assigned to | String |
| assigned_centre_id | The ID of the centre the client is assigned to | String |
| assigned_user_id | The ID of the user the client is assigned to | String |
| birthday | The birthday of the client | Timestamp |
| role_id | The ID of the role assigned to the client | String |
| gender | The gender of the client | Gender |
| group_loan_cycle | A number of paid and closed (with 'obligations met') accounts for the client group | Integer |
| loan_cycle | The number of paid and closed accounts for the client, when the opening rotation is reversed | Integer |
| portal_settings | The portal settings for the client | PortalSettings |
| migration_event_id | The migration event ID for the client | String |
| profile_picture_id | The ID of the file the profile picture of the client is stored in | String |
| profile_signature_id | The ID of the file the user picture signature is stored in | String |
| state | The current state of the client | State |
| notes | Extra human-readable text on the client | String |
| create_time | The time when the client was created | Timestamp |
| update_time | The time the client was last updated | Timestamp |
| approve_time | The time the client was approved | Timestamp |
| activate_time | The time the client was set as active for the first time | Timestamp |
| close_time | The time the client was closed | Timestamp |
-
Name Description Type client_id The ID of the client String info The contact information of the client ContactInfo assigned_branch_id The ID of the branch the client is assigned to String assigned_centre_id The ID of the centre the client is assigned to String assigned_user_id The ID of the user the client is assigned to String birthday The birthday of the client Timestamp role_id The ID of the role assigned to the client String gender The gender of the client Gender group_loan_cycle A number of paid and closed (with 'obligations met') accounts for the client group Integer loan_cycle The number of paid and closed accounts for the client, when the opening rotation is reversed Integer portal_settings The portal settings for the client PortalSettings migration_event_id The migration event ID for the client String profile_picture_id The ID of the file the profile picture of the client is stored in String profile_signature_id The ID of the file the user picture signature is stored in String state The current state of the client State notes Extra human-readable text on the client String create_time The time when the client was created Timestamp update_time The time the client was last updated Timestamp approve_time The time the client was approved Timestamp activate_time The time the client was set as active for the first time Timestamp close_time The time the client was closed Timestamp
DeleteClient
DELETE
/v1/clients/{ClientID}Deletes a client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| client_id | The ID of the client to delete | String |
AddClientDocuments
POST
/v1/clients/{ClientID}/documents/{DocumentIDs}Adds the specified documents to a client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| client_id | The ID of the client to update | String |
| document_ids | The IDs of the documents to add | Array[String] |
RemoveClientDocuments
DELETE
/v1/clients/{ClientID}/documents/{DocumentIDs}Removes the specified documents from the client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| client_id | The ID of the client to update | String |
| document_ids | The IDs of the documents to remove | Array[String] |
ListClientDocuments
GET
/v1/clients/{ClientID}/documentsLists the documents of a client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| client_id | The ID of the client to retrieve the documents for | String |
| filter | The filter to apply to the search | String |
| order_by | The order to apply to the search | String |
| page_size | The number of clients to return per page | Integer |
| page_token | The token of the page to return | String |
-
Name Description Type total The total number of documents matching the filter Integer remaining The number of documents remaining in the list, including the documents in the response Integer documents The list of documents for a client Array[Document] next_page_token The token used to retrieve the next page String
ListClientGroups
GET
/v1/clients/{ClientID}/groupsLists the groups of a client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| client_id | The ID of the client to retrieve the groups for | String |
| filter | The filter to apply to the search | String |
| order_by | The order to apply to the search | String |
| page_size | The number of clients to return per page | Integer |
| page_token | The token of the page to return | String |
-
Name Description Type total The total number of groups matching the filter Integer remaining The number of groups remaining in the list, including the groups in the response Integer groups The list of groups the client is a member of Array[Group] next_page_token The token used to retrieve the next page String
GROUPS
Package groups defines services for creating and managing groups.
CreateGroup
POST
/v1/groupsCreates a new group..
| Name | Description | Type |
|---|---|---|
| group_id | The unique ID of the group | String |
| info | The contact information of the group | ContactInfo |
| branch_id | The ID of the branch this group is assigned to | String |
| centre_id | The ID of the centre this group is assigned to | String |
| owner_id | The ID of the user that owns this group | String |
| loan_cycle | The number of paid and closed (with 'obligations met') accounts for this group | Integer |
| migration_event_id | The ID of the migration event associated with this group | String |
| notes | Extra notes associated with this group | String |
| create_time | The time the group was created | Timestamp |
| update_time | The time the group was last updated | Timestamp |
-
Name Description Type group_id The unique ID of the group String info The contact information of the group ContactInfo branch_id The ID of the branch this group is assigned to String centre_id The ID of the centre this group is assigned to String owner_id The ID of the user that owns this group String loan_cycle The number of paid and closed (with 'obligations met') accounts for this group Integer migration_event_id The ID of the migration event associated with this group String notes Extra notes associated with this group String create_time The time the group was created Timestamp update_time The time the group was last updated Timestamp
ListGroups
GET
/v1/groupsLists groups..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token to use for pagination | String |
| page_size | The number of groups to return | Integer |
| order_by | The field to order the groups by | String |
| filter | The filter to apply to the list of groups | String |
-
Name Description Type total The total number of groups matching the filter Integer remaining The number of groups remaining in the list, including the groups in the response Integer groups The list of groups Array[Group] next_page_token The token to use for pagination String
GetGroup
GET
/v1/groups/{GroupID}Retrieves a group..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group to retrieve | String |
-
Name Description Type group_id The unique ID of the group String info The contact information of the group ContactInfo branch_id The ID of the branch this group is assigned to String centre_id The ID of the centre this group is assigned to String owner_id The ID of the user that owns this group String loan_cycle The number of paid and closed (with 'obligations met') accounts for this group Integer migration_event_id The ID of the migration event associated with this group String notes Extra notes associated with this group String create_time The time the group was created Timestamp update_time The time the group was last updated Timestamp
UpdateGroup
PUT
/v1/groups/{GroupID}Updates the specified group..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group to be updated | String |
| Name | Description | Type |
|---|---|---|
| group_id | The unique ID of the group | String |
| info | The contact information of the group | ContactInfo |
| branch_id | The ID of the branch this group is assigned to | String |
| centre_id | The ID of the centre this group is assigned to | String |
| owner_id | The ID of the user that owns this group | String |
| loan_cycle | The number of paid and closed (with 'obligations met') accounts for this group | Integer |
| migration_event_id | The ID of the migration event associated with this group | String |
| notes | Extra notes associated with this group | String |
| create_time | The time the group was created | Timestamp |
| update_time | The time the group was last updated | Timestamp |
-
Name Description Type group_id The unique ID of the group String info The contact information of the group ContactInfo branch_id The ID of the branch this group is assigned to String centre_id The ID of the centre this group is assigned to String owner_id The ID of the user that owns this group String loan_cycle The number of paid and closed (with 'obligations met') accounts for this group Integer migration_event_id The ID of the migration event associated with this group String notes Extra notes associated with this group String create_time The time the group was created Timestamp update_time The time the group was last updated Timestamp
DeleteGroup
DELETE
/v1/groups/{GroupID}Deletes the specified group..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group to be deleted | String |
AddMember
POST
/v1/groups/{GroupID}/membersAdds the specified groups to a client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group | String |
| client_id | The ID of the client to add | String |
ListMembers
GET
/v1/groups/{GroupID}/membersLists the members in a group..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The id of the group to retrieve members for | String |
| page_token | The token to use for pagination | String |
| page_size | The number of groups to return | Integer |
| order_by | The field to order the groups by | String |
| filter | The filter to apply to the list of groups | String |
-
Name Description Type total The total number of members matching the filter Integer remaining The number of members remaining in the list, including the members in the response Integer members The list of members Array[Member] next_page_token The token to use for pagination String
GetMember
GET
/v1/groups/{GroupID}/members/{ClientID}Retrieves the specified member in a group..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group | String |
| client_id | The ID of the client | String |
-
Name Description Type client_id The ID of the client associated with the member String role_ids The list of roles that the member contains Array[String]
RemoveMember
DELETE
/v1/groups/{GroupID}/members/{ClientID}Removes the specified groups from the client..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group | String |
| client_id | The ID of the client to remove | String |
CreateRole
POST
/v1/groups/{GroupID}/rolesCreates a new group role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group to add the role to | String |
| body | The Role to create | Role |
-
Name Description Type role_id The ID for the group role String name The name of the group role String
ListGroupRoles
GET
/v1/groups/{GroupID}/rolesRetrieves all of the roles of the specified group..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group to retrieve the roles for | String |
| page_token | The token to use for pagination | String |
| page_size | The number of groups to return | Integer |
| order_by | The field to order the groups by | String |
| filter | The filter to apply to the list of groups | String |
-
Name Description Type total The total number of roles matching the filter Integer remaining The number of roles remaining in the list, including the roles in the response Integer roles The list of roles Array[Role] next_page_token The token to use for pagination String
GetRole
GET
/v1/groups/{GroupID}/roles/{RoleID}Retrieves group role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group the role belongs to | String |
| role_id | The ID of the role to retrieve | String |
-
Name Description Type role_id The ID for the group role String name The name of the group role String
UpdateRole
POST
/v1/groups/{GroupID}/roles/{RoleID}Updates the specified group role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group the role belongs to | String |
| role_id | The ID of the role to be updated | String |
| body | The value of the group after updating | Role |
-
Name Description Type role_id The ID for the group role String name The name of the group role String
DeleteRole
DELETE
/v1/groups/{GroupID}/roles/{RoleID}Deletes the specified group role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group to remove the role from | String |
| role_id | The ID of the role to be deleted | String |
AddMemberRole
POST
/v1/groups/{GroupID}/members/{ClientID}/roles/{RoleID}Adds a role to a member..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group | String |
| client_id | The ID of the client | String |
| role_id | The ID of the role to add to the member | String |
ListMemberRoles
GET
/v1/groups/{GroupID}/members/{ClientID}/rolesLists the roles for a member..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group | String |
| client_id | The ID of the client | String |
| page_token | The token to use for pagination | String |
| page_size | The number of groups to return | Integer |
| order_by | The field to order the groups by | String |
| filter | The filter to apply to the list of groups | String |
-
Name Description Type total The total number of roles matching the filter Integer remaining The number of roles remaining in the list, including the roles in the response Integer roles The list of roles Array[Role] next_page_token The token to use for pagination String
RemoveMemberRole
DELETE
/v1/groups/{GroupID}/members/{ClientID}/roles/{RoleID}Removes a role from a member..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| group_id | The ID of the group | String |
| client_id | The ID of the client | String |
| role_id | The ID of the role to remove from the member | String |
CENTRES
Package centres allows retrieving centres information.
CreateCentre
POST
/v1/centresCreates a new centre..
| Name | Description | Type |
|---|---|---|
| centre_id | The ID of the centre | String |
| info | The contact information of the branch | ContactInfo |
| notes | Extra human-readable notes about this centre | String |
| assigned_branch_id | The ID of the branch this centre is assigned to | String |
| meeting_day | The day of the week when repayments are collected, influences repayments schedule, and all repayments are update to this day of the week | Day |
| state | The state of the centre | State |
| create_time | The time the centre was created | Timestamp |
| update_time | The time the centre is last modified | Timestamp |
| fields | The custom fields for the branch | JSON |
-
Name Description Type centre_id The ID of the centre String info The contact information of the branch ContactInfo notes Extra human-readable notes about this centre String assigned_branch_id The ID of the branch this centre is assigned to String meeting_day The day of the week when repayments are collected, influences repayments schedule, and all repayments are update to this day of the week Day state The state of the centre State create_time The time the centre was created Timestamp update_time The time the centre is last modified Timestamp fields The custom fields for the branch JSON
ListCentres
GET
/v1/centresLists centres..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The page token to use for the next page | String |
| page_size | The number of centres to return | Integer |
| filter | The filter to apply to the list | String |
| order_by | The field to order the list by | String |
-
Name Description Type total The total number of centres matching the filter Integer remaining The number of centres remaining in the list, including the centres in the response Integer centres The list of centres Array[Centre] next_page_token The page token for the next page String
GetCentre
GET
/v1/centres/{CentreID}Retrieves the specified centre..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| centre_id | The ID of the centre to retrieve | String |
-
Name Description Type centre_id The ID of the centre String info The contact information of the branch ContactInfo notes Extra human-readable notes about this centre String assigned_branch_id The ID of the branch this centre is assigned to String meeting_day The day of the week when repayments are collected, influences repayments schedule, and all repayments are update to this day of the week Day state The state of the centre State create_time The time the centre was created Timestamp update_time The time the centre is last modified Timestamp fields The custom fields for the branch JSON
UpdateCentre
PUT
/v1/centres/{CentreID}Updates the configuration of a centre..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| centre_id | The ID of the centre to update | String |
| Name | Description | Type |
|---|---|---|
| centre_id | The ID of the centre | String |
| info | The contact information of the branch | ContactInfo |
| notes | Extra human-readable notes about this centre | String |
| assigned_branch_id | The ID of the branch this centre is assigned to | String |
| meeting_day | The day of the week when repayments are collected, influences repayments schedule, and all repayments are update to this day of the week | Day |
| state | The state of the centre | State |
| create_time | The time the centre was created | Timestamp |
| update_time | The time the centre is last modified | Timestamp |
| fields | The custom fields for the branch | JSON |
-
Name Description Type centre_id The ID of the centre String info The contact information of the branch ContactInfo notes Extra human-readable notes about this centre String assigned_branch_id The ID of the branch this centre is assigned to String meeting_day The day of the week when repayments are collected, influences repayments schedule, and all repayments are update to this day of the week Day state The state of the centre State create_time The time the centre was created Timestamp update_time The time the centre is last modified Timestamp fields The custom fields for the branch JSON
DeleteCentre
DELETE
/v1/centres/{CentreID}Deletes the specified centre..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| centre_id | The ID of the centre to delete | String |
Branch
An organization branch..
| Name | Description | Type |
|---|---|---|
| branch_id | The ID of the branch | String |
| info | The contact information of the branch | ContactInfo |
| notes | Extra human-readable notes about this branch | String |
| state | The current state of the branch | State |
| fields | The custom fields for the branch | JSON |
| create_time | The time the branch was created | Timestamp |
| update_time | The time the branch was last updated | Timestamp |
Comment
A comment added to an entity..
| Name | Description | Type |
|---|---|---|
| comment_id | The ID of the comment | String |
| user_id | The ID of the user | String |
| owner_id | The ID of the holder of the comment | String |
| owner_type | The type of holder of the document | Owner |
| text | The content of the comment | String |
| create_time | When the comment was created | Timestamp |
| update_time | The time at which the comment was last updated | Timestamp |
Owner
The type of an entity owning the comment..
| Name | Description |
|---|---|
| Client | |
| Group | |
| LoanProduct | |
| SavingsProduct | |
| Centre | |
| Branch | |
| User | |
| LoanAccount | |
| DepositAccount | |
| IDDocument | |
| LineOfCredit | |
| GLJournalEntry |
Document
The metadata information for a document created from uploaded attachments..
| Name | Description | Type |
|---|---|---|
| document_id | The document ID | String |
| name | The name of the document | String |
| notes | The notes and details of the document | String |
| owner_id | The ID of the entity that owns this document | String |
| owner_type | The type of entity that owns the document | Owner |
| template_id | The ID of the template the document was based on, if any | String |
| file_name | The original file name | String |
| size | The size of the document in bytes | Integer |
| create_time | The time the document was created | Timestamp |
| expire_time | The time the document expires or become invalid, if any | Timestamp |
Owner
The type of an entity owner..
| Name | Description |
|---|---|
| Client | |
| Group | |
| LoanProduct | |
| SavingsProduct | |
| Centre | |
| Branch | |
| User | |
| LoanAccount | |
| DepositAccount | |
| IDDocument | |
| LineOfCredit | |
| GLJournalEntry | |
| IDTemplate |
Event
The event that triggered the notification..
| Name | Description |
|---|---|
| EventManual | |
| EventClientCreated | |
| EventClientApproved | |
| EventGroupActivity | |
| EventGroupCreated | |
| EventLoanCreated | |
| EventInterestRateChanged | |
| EventClientRejected | |
| EventClientActivity | |
| EventLoanRepayment | |
| EventLoanRepaymentReversal | |
| EventFeeApplied | |
| EventFeeAdjusted | |
| EventFeeCharged | |
| EventLoanApproval | |
| EventLoanAccountClosure | |
| EventLoanAccountWriteOff | |
| EventLoanAccountRejection | |
| EventLoanAccountRescheduled | |
| EventLoanAccountRefinanced | |
| EventRepaymentReminder | |
| EventAccountInArrears | |
| EventLoanDisbursement | |
| EventLoanDisbursementReversal | |
| EventLoanAccountActivity | |
| EventLoanAnticipatedDisbursement | |
| EventSavingsCreated | |
| EventSavingsDeposit | |
| EventSavingsDepositReversal | |
| EventSavingsApproval | |
| EventSavingsAccountActivated | |
| EventSavingsAccountClosure | |
| EventSavingsAccountRejection | |
| EventSavingsWithdrawal | |
| EventSavingsWithdrawalReversal | |
| EventSavingsAccountActivity | |
| EventAccountAuthorizationHoldCreated | |
| EventCardsAuthorizationHoldCreated | |
| EventCardsAuthorizationHoldSettled | |
| EventCardsAuthorizationHoldAmountDecreased | |
| EventCardsAuthorizationHoldAmountIncreased | |
| EventCardsAuthorizationHoldExpired | |
| EventCardsAuthorizationHoldReversed | |
| EventPortalActivated | |
| EventPortalPasswordReset | |
| EventEndOfDayProcessingCompleted | |
| EventDataAccessStateChanged | |
| EventRevolvingAccountCreated | |
| EventRevolvingAccountClosed | |
| EventRevolvingAccountApproved | |
| EventRevolvingAccountRejected | |
| EventRevolvingAccountWithdrawn | |
| EventRevolvingAccountDeleted | |
| EventRevolvingAccountAdded | |
| EventRevolvingAccountRemoved | |
| EventRevolvingAccountEdited | |
| EventPaymentOrderActivity | |
| EventCollectionOrderActivity | |
| EventJournalEntryAdded | |
| EventJournalEntryAdjusted |
FailureReason
The reason of failure while dispatching the notification..
| Name | Description |
|---|---|
| ReasonUnsupportedEncoding | |
| ReasonEmailServiceNotEnabled | |
| ReasonSMSTooLong | |
| ReasonSMSServiceNotEnabled | |
| ReasonSMSNotSent | |
| ReasonSMSServiceError | |
| ReasonSMSConnectionException | |
| ReasonWebhookNotificationsDisabled | |
| ReasonInvalidHTTPResponse | |
| ReasonHTTPErrorWhileSending | |
| ReasonInvalidJSONBodySyntax | |
| ReasonMissingTemplateID | |
| ReasonUndefinedDestination | |
| ReasonBlacklistedURL | |
| ReasonInvalidSMSGatewayCredentials | |
| ReasonMissingSMSRecipient | |
| ReasonSMSGatewayError | |
| ReasonMissingEmailRecipientAddress | |
| ReasonOther |
Notification
A message that is being sent. TODO: determine better structure for this datatype before setting up proper references and nullability..
| Name | Description | Type |
|---|---|---|
| notification_id | The ID of the notification | String |
| user_id | The ID of the user the message was sent to | String |
| client_id | The ID of the client the message was sent to | String |
| group_id | The ID of the group the message was sent to | String |
| deposit_account_id | The ID of the deposit account the message is related to | String |
| loan_account_id | The ID of the loan account the message is related to | String |
| repayment_id | The ID of the repayment about which the message was sent | String |
| type | The type of the notification | Type |
| event | The event that triggered the notification | Event |
| status | The status of the notification | Status |
| template_id | The ID of the template used to generate the message | String |
| destination | The destination of the notification such as the email, phone number (SMS) or the webhook URL | String |
| sender_id | The ID of the sender | String |
| subject | The subject of the message | String |
| body | The message content | Bytes |
| num_retries | The number of retries to send the message | Integer |
| create_time | The time the notification was created | Timestamp |
| send_time | The time the notificaiton was sent | Timestamp |
| failure_reason | The reason the message failed to send | FailureReason |
| failure_cause | The cause of the failure | String |
ResendDateFilter
An time interval from which notifications will be resent..
| Name | Description | Type |
|---|---|---|
| types | The types of notifications to resent | Array[Type] |
| start_time | The starting time for the filter | Timestamp |
| end_time | The ending time for the filter | Timestamp |
Type
The type of a notification..
| Name | Description |
|---|---|
| SMS | |
| Webhook | |
| EventStream | |
| Task |
AccountingConfig
The accounting rules configuration..
| Name | Description | Type |
|---|---|---|
| default_gl_code | The default GL code for processing inter-branch transactions | String |
| custom_rules | Inter-branch GL Account rules | Array[TransferRule] |
| closure_interval | The number of days between the execution of automated accounting closures | Integer |
AppComponent
A component that can be enabled and disabled independently..
| Name | Description |
|---|---|
| ComponentLoans | |
| ComponentDeposits | |
| ComponentBranches | |
| ComponentCentres | |
| ComponentClients | |
| ComponentGroups | |
| ComponentAccounting | |
| ComponentCreditOfficers |
AssignmentConstraint
A requirement for a field to be present in users or groups..
| Name | Description |
|---|---|
| ConstraintBranch | |
| ConstraintCentre | |
| ConstraintCreditOfficer | |
| ConstraintGroup |
Channel
The a channel for processing transactions..
| Name | Description | Type |
|---|---|---|
| channel_id | The ID of the channel | String |
| gl_account | The associated GL account with the transaction channel | String |
| name | The user-defined name of the transaction channel | String |
| loans_constraints | The constraints of loan transactions using the transaction channel | ChannelConstraints |
| deposit_constraints | The constraints of deposit transactions using the transaction channel | ChannelConstraints |
| state | The current status of the transaction channel | State |
| default | A flag that picks the channel by default in the UI, setting a channel to default will remove the default flag from all other channels | Boolean |
| allowed_users | A list of users for the transaction channel | Array[String] |
ChannelConstraint
A constraint for the transaction channel configuration..
| Name | Description | Type |
|---|---|---|
| criteria | The criteria used to apply the constraint | ChannelConstraintCriteria |
| operator | The operator to apply to the criteria | Operator |
| values | A list of values used in filtering | Array[String] |
ChannelConstraintCriteria
A criteria for the constraints in a transaction channel..
| Name | Description |
|---|---|
| ChannelConstraintAmount | |
| ChannelConstraintType | |
| ChannelConstraintProduct |
ChannelConstraintMode
The mode the constraint runs in..
| Name | Description |
|---|---|
| MatchAll | ChannelConstraintMode_MatchAll is a value that prevents the transaction from occurring if all constraints are violated |
| MatchAny | ChannelConstraintMode_MatchAny is a value that prevents the transaction from occurring if any constraints are violated |
ChannelConstraints
The configuration for transaction channel constraints..
| Name | Description | Type |
|---|---|---|
| constraints | A list of constraints applied to the channel | Array[ChannelConstraint] |
| filter | The type of filter to apply to the constraints | ChannelConstraintMode |
ConstraintAction
The action that should be done if a constraint is violated..
| Name | Description |
|---|---|
| None | |
| Warning | |
| Error |
DashboardComponent
A component that can be shown on the dashboard..
| Name | Description |
|---|---|
| DashboardLatestActivity | |
| DashboardTasks | |
| DashboardFavoriteViews | |
| DashboardIndicators | |
| DashboardCurrentTills | |
| DashboardClients | |
| DashboardUpcomingRepayments | |
| DashboardNone |
Day
A day in the week..
| Name | Description |
|---|---|
| Monday | |
| Tuesday | |
| Wednesday | |
| Thursday | |
| Friday | |
| Saturday | |
| Sunday |
DecimalSeparator
The character used to separate integral and fractional values in the organization..
| Name | Description |
|---|---|
| Comma | |
| Point |
Defaults
A set of defaults for different aspects in the organization..
| Name | Description | Type |
|---|---|---|
| client_role_id | The ID of the role that a client should be assigned to by default | String |
| client_state | The default state the client starts in | State |
| group_role_id | The ID of the role that a group should be assigned to by default | String |
| line_of_credit_state | The default state for a line of credit | State |
| transaction_channel_id | The ID of the default transaction channel to use | String |
DuplicateItemType
The type of items to use to check for duplicates..
| Name | Description |
|---|---|
| FieldLoans | |
| FieldSavings | |
| FieldClient | |
| FieldClientRole | |
| FieldGroup | |
| FieldGroupRole | |
| FieldTransaction | |
| FieldJournalEntry | |
| FieldInterestAccrualBreakdown | |
| FieldBranch | |
| FieldCentre | |
| FieldUser | |
| FieldLoanProduct | |
| FieldSavingsProduct | |
| FieldNotificationMessage | |
| FieldNotificationTemplate | |
| FieldRepayment | |
| FieldRepaymentCollection | |
| FieldActivity | |
| FieldLineOfCredit | |
| FieldIdentificationDocument | |
| FieldAttachment | |
| FieldCurrency | |
| FieldProduct | |
| FieldRevenue | |
| FieldExpense | |
| FieldOutstandingPortfolioAccounts | |
| FieldOutstandingPortfolioAmounts | |
| FieldCreatedAccounts | |
| FieldWrittenOffLoans | |
| FieldDisbursedLoans | |
| FieldLoanGroup | |
| FieldTranche | |
| FieldDisbursementDetails | |
| FieldTransactionDetails | |
| FieldTransactionChannel | |
| FieldCustomPredefinedFee | |
| FieldCustomFieldSelection | |
| FieldPredefinedFee | |
| FieldLoanTransaction | |
| FieldSavingsTransaction | |
| FieldCardTransactionReversal | |
| FieldComposedTransactions | |
| FieldUnionTransactions | |
| FieldInvestorFund | |
| FieldPrincipalPaymentSettings | |
| FieldLoanAccountGuaranty | |
| FieldTask | |
| FieldDocumentTemplate | |
| FieldIndexRate | |
| FieldIndexRateSource | |
| FieldInterestProductSettings | |
| FieldMccExpiration | |
| FieldProductArrearsSettings | |
| FieldDocumentIDAndType | |
| FieldHomePhone | |
| FieldMobilePhone | |
| FieldEmail | |
| FieldFullName | |
| FieldLastNameDOB |
EndOfDayMode
The mode end-of-day operations are ran. In auto mode, end of day tasks are ran automatically. In manual mode, end of day tasks must be triggered manually..
| Name | Description |
|---|---|
| EndOfDayAuto | |
| EndOfDayManual |
ExposureType
The hard limit on amount of loan any user can have at any point in time..
| Name | Description |
|---|---|
| ExposureUnlimited | |
| ExposureSumOfLoans | |
| ExposureSumOfLoansMinusSavings |
GroupSizeLimitType
The type of group size limit that is enforced..
| Name | Description |
|---|---|
| LimitHard | |
| LimitWarning | |
| LimitNone |
Holiday
A day where the organization is closed..
| Name | Description | Type |
|---|---|---|
| holiday_id | The ID of the holiday | String |
| name | The name of the holiday | String |
| date | The date of the holiday | Timestamp |
| is_annually_recurring | True if the holiday is annual | Boolean |
| create_time | The date the holiday was created | Timestamp |
NonWorkingDays
The configuration for non-working days..
| Name | Description | Type |
|---|---|---|
| non_working_days | The days of the week that are not working days | Array[Day] |
Organization
The organization that the instance of Core Banking belongs to..
| Name | Description | Type |
|---|---|---|
| info | The contact information for the organization | ContactInfo |
| currency_code | The code of the main currency used by the organization | String |
| date_format | The format for date values | String |
| date_time_format | The format for date-time values | String |
| timezone | The timezone for the organization in the format "Asia/Jakarta" | String |
| create_time | The time the organization is setup | Timestamp |
| update_time | The time the organization setup was last updated | Timestamp |
Setup
The global configuration of the organization..
| Name | Description | Type |
|---|---|---|
| accounting_cut_off_time | The time accounting is cut off everyday | Timestamp |
| arrears_days_before_write_off | The number of days required before an account can be written off | Integer |
| assignment_constraints | A list of assignments required for Clients and Groups | Array[AssignmentConstraint] |
| automated_accounting_closures_interval | The interval between the execution of automated accounting closures | Duration |
| client_id_format | The format used to generate client IDs | String |
| group_id_format | The format used to generate group IDs | String |
| line_of_credit_id_format | The format used to generate line of credit IDs | String |
| date_formats | The format of date and time used in the user interface | Map<String, String> |
| enabled_components | The list of all enabled components | Array[AppComponent] |
| dashboard_components | The list of components in the dashboard | Array[DashboardComponent] |
| decimal_separator | The symbol that marks the border between integer and fraction part of a decimal number | DecimalSeparator |
| defaults | The default values and settings for the organization | Defaults |
| client_checks | A list of client-side constraints to enforce | Array[DuplicateItemType] |
| client_constraint_action | The action to be taken when the duplicate client validation fails | ConstraintAction |
| end_of_day_mode | The method end-of-day processing is done | EndOfDayMode |
| exposure_amount | The hard cap on maximum amount of loans a client can have | Amount |
| exposure_type | The type of hard cap enforced | ExposureType |
| min_group_size_limit | The minimum size of a group | Integer |
| max_group_size_limit | The maximum size of a group | Integer |
| group_size_limit_type | The type of group size limit enforced | GroupSizeLimitType |
| inter_branch_transfer_gl_account_id | The ID of the GL account to use for inter-branch transfers | String |
| max_allowed_id_document_attachments | The maximum number of ID document allowed | Integer |
| max_allowed_journal_entry_document_attachments | The maximum number of attachments allowed in a journal entry | Integer |
| max_allowed_undo_closure_period | The maximum number of days that users are allowed to undo closing obligations for a loan account | Integer |
| max_client_groups | The maximum number of groups a client can belong to | Integer |
| max_loans | The maximum number of loans | Integer |
| allow_other_id_documents | A flag to enable other types of IDs | Boolean |
| overdraft_interest_date | The date used when computing overdraft interests | Timestamp |
| min_disbursal_approval_required | The number of users required to approve a disbursal | Integer |
| min_loan_approval_required | The number of users required to create and approve a loan account | Integer |
TransferRule
A custom rule overriding the default general ledger code for inter-branch transactions. This rule will be applied if the transaction is being done between the two branches specified in the rule..
| Name | Description | Type |
|---|---|---|
| rule_id | The ID of the transfer rule | String |
| gl_code | The ID for the account to assign the inter-branch transactions to | String |
| branch_ids | A list of branch IDs that the rule applies to | Array[String] |
Client
A person that uses the services of the bank..
| Name | Description | Type |
|---|---|---|
| client_id | The ID of the client | String |
| info | The contact information of the client | ContactInfo |
| assigned_branch_id | The ID of the branch the client is assigned to | String |
| assigned_centre_id | The ID of the centre the client is assigned to | String |
| assigned_user_id | The ID of the user the client is assigned to | String |
| birthday | The birthday of the client | Timestamp |
| role_id | The ID of the role assigned to the client | String |
| gender | The gender of the client | Gender |
| group_loan_cycle | A number of paid and closed (with 'obligations met') accounts for the client group | Integer |
| loan_cycle | The number of paid and closed accounts for the client, when the opening rotation is reversed | Integer |
| portal_settings | The portal settings for the client | PortalSettings |
| migration_event_id | The migration event ID for the client | String |
| profile_picture_id | The ID of the file the profile picture of the client is stored in | String |
| profile_signature_id | The ID of the file the user picture signature is stored in | String |
| state | The current state of the client | State |
| notes | Extra human-readable text on the client | String |
| create_time | The time when the client was created | Timestamp |
| update_time | The time the client was last updated | Timestamp |
| approve_time | The time the client was approved | Timestamp |
| activate_time | The time the client was set as active for the first time | Timestamp |
| close_time | The time the client was closed | Timestamp |
Gender
The gender of a client..
| Name | Description |
|---|---|
| Male | |
| Female | |
| Other |
PortalSettings
The portal settings for an individual client..
| Name | Description | Type |
|---|---|---|
| state | The state of the client's portal | State |
| last_login | When the client last logged in | String |
Group
A type of client that represents a group of at least two members..
| Name | Description | Type |
|---|---|---|
| group_id | The unique ID of the group | String |
| info | The contact information of the group | ContactInfo |
| branch_id | The ID of the branch this group is assigned to | String |
| centre_id | The ID of the centre this group is assigned to | String |
| owner_id | The ID of the user that owns this group | String |
| loan_cycle | The number of paid and closed (with 'obligations met') accounts for this group | Integer |
| migration_event_id | The ID of the migration event associated with this group | String |
| notes | Extra notes associated with this group | String |
| create_time | The time the group was created | Timestamp |
| update_time | The time the group was last updated | Timestamp |
Member
A person that is a member of a group..
| Name | Description | Type |
|---|---|---|
| client_id | The ID of the client associated with the member | String |
| role_ids | The list of roles that the member contains | Array[String] |
Role
The role of a group member within the group (i.e. Money Collector). One member may have multiple roles within a group..
| Name | Description | Type |
|---|---|---|
| role_id | The ID for the group role | String |
| name | The name of the group role | String |
Centre
A common meeting area that credit officers and the individual and group clients go to. Each centre is assigned to a branch (a branch can have multiple centres) and might have a specific meeting day and location..
| Name | Description | Type |
|---|---|---|
| centre_id | The ID of the centre | String |
| info | The contact information of the branch | ContactInfo |
| notes | Extra human-readable notes about this centre | String |
| assigned_branch_id | The ID of the branch this centre is assigned to | String |
| meeting_day | The day of the week when repayments are collected, influences repayments schedule, and all repayments are update to this day of the week | Day |
| state | The state of the centre | State |
| create_time | The time the centre was created | Timestamp |
| update_time | The time the centre is last modified | Timestamp |
| fields | The custom fields for the branch | JSON |