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/branches

Creates a branch..

Request Body (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/branches

Lists 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
Request Body (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

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}/holidays

Lists 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/comments

Creates a comment..

Request Body (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/comments

Lists 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/docs

Creates 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
Request Body (File)
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/docs

Lists 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}/file

Returns 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/notifications

Sends a new notification..

Request Body (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/notifications

Lists 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:resendDate

Resends all notifications within a time range..

Request Body (ResendDateFilter)
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}:resend

Resend 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/accounting

Gets 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/accounting

Updates the accounting configuration..

Request Body (AccountingConfig)
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/channels

Creates a new transaction channel..

Request Body (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/channels

Lists 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
Request Body (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]

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/general

Creates a new holiday..

Request Body (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/general

Lists 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
Request Body (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

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/nonworkingdays

Retrieves 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/nonworkingdays

Updates the list of non-working days..

Request Body (NonWorkingDays)
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/organization

Retrieves 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/organization

Updates the details of the organization..

Request Body (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/setup

Retrieves 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/setup

Updates the general setup..

Request Body (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/clients

Creates a new client..

Request Body (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/clients

Lists 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
Request Body (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

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}/documents

Lists 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}/groups

Lists 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/groups

Creates a new group..

Request Body (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/groups

Lists 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
Request Body (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

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}/members

Adds 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}/members

Lists 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}/roles

Creates 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}/roles

Retrieves 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}/roles

Lists 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/centres

Creates a new centre..

Request Body (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/centres

Lists 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
Request Body (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

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
Email
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