Users
This page contains configuration for users and their roles in the Core Banking system.
The user may create an API key with a scope that allows them to access the API programmatically without OAuth2. This feature may be "disabled" by not granting any users the permission to create API keys.
Each user may create multiple API consumers which may have multiple API keys. For example, the user may create one consumer per project and assign a different API key to each program inside the project, granting different scopes of permissions.
An API key is not necessary to access the API but is recommended to limit the capabilities of automated programs and reduce the risk through principle of least privilege.
See the Authentication section in the Home page for more details on accessing the API.
CONSUMERS
Package consumers allows retrieving managing api consumers.
CreateConsumer
POST
/v1/consumersCreates a new API consumer..
| Name | Description | Type |
|---|---|---|
| consumer_id | The ID of the API consumer | String |
| name | The name of the API consumer | String |
| type | The type of the API consumer | ConsumerType |
| branch_id | The ID of the branch assigned to the API consumer | String |
| access | The access permissions of the API consumer | Access |
| role_id | The ID of the role of the API consumer | String |
| transaction_limits | The transaction limits for the consumer if the user is allowed to make transactions | Map<String, Integer> |
| create_time | The time the API consumer was created | Timestamp |
| update_time | The time the API consumer was last updated | Timestamp |
-
Name Description Type consumer_id The ID of the API consumer String name The name of the API consumer String type The type of the API consumer ConsumerType branch_id The ID of the branch assigned to the API consumer String access The access permissions of the API consumer Access role_id The ID of the role of the API consumer String transaction_limits The transaction limits for the consumer if the user is allowed to make transactions Map<String, Integer> create_time The time the API consumer was created Timestamp update_time The time the API consumer was last updated Timestamp
ListConsumers
GET
/v1/consumersLists API consumers..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The page token to use for the request | String |
| page_size | The number of results to return per page | Integer |
| order_by | The field to order the results by | String |
| filter | The filter to apply to the results | String |
-
Name Description Type total The total number of consumers matching the filter Integer remaining The number of consumers remaining in the list, including the consumers in the response Integer consumers The list of API consumers Array[Consumer] next_page_token The page token to use for the next request String
GetConsumer
GET
/v1/consumers/{ConsumerID}Retrieves the specified API consumer..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| consumer_id | The ID of the consumer to retrieve | String |
-
Name Description Type consumer_id The ID of the API consumer String name The name of the API consumer String type The type of the API consumer ConsumerType branch_id The ID of the branch assigned to the API consumer String access The access permissions of the API consumer Access role_id The ID of the role of the API consumer String transaction_limits The transaction limits for the consumer if the user is allowed to make transactions Map<String, Integer> create_time The time the API consumer was created Timestamp update_time The time the API consumer was last updated Timestamp
UpdateConsumer
PUT
/v1/consumers/{ConsumerID}Updates an existing API consumer..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| consumer_id | The ID of the consumer to update | String |
| Name | Description | Type |
|---|---|---|
| consumer_id | The ID of the API consumer | String |
| name | The name of the API consumer | String |
| type | The type of the API consumer | ConsumerType |
| branch_id | The ID of the branch assigned to the API consumer | String |
| access | The access permissions of the API consumer | Access |
| role_id | The ID of the role of the API consumer | String |
| transaction_limits | The transaction limits for the consumer if the user is allowed to make transactions | Map<String, Integer> |
| create_time | The time the API consumer was created | Timestamp |
| update_time | The time the API consumer was last updated | Timestamp |
-
Name Description Type consumer_id The ID of the API consumer String name The name of the API consumer String type The type of the API consumer ConsumerType branch_id The ID of the branch assigned to the API consumer String access The access permissions of the API consumer Access role_id The ID of the role of the API consumer String transaction_limits The transaction limits for the consumer if the user is allowed to make transactions Map<String, Integer> create_time The time the API consumer was created Timestamp update_time The time the API consumer was last updated Timestamp
DeleteConsumer
DELETE
/v1/consumers/{ConsumerID}Deletes an existing API consumer..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| consumer_id | The ID of the API consumer to delete | String |
CreateAPIKey
POST
/v1/consumers/{ConsumerID}/apikeysCreates a new API key..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| consumer_id | The ID of the API consumer to create an API key for | String |
| Name | Description | Type |
|---|---|---|
| expires | When the API key expires | Integer |
-
Name Description Type key_id The ID of the API key String key The API key String expire_time The time the key expires Timestamp
ListAPIKeys
GET
/v1/consumers/{ConsumerID}/apikeysLists API keys..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| consumer_id | The ID of the API consumer to list API keys for | String |
| page_token | The page token to use for the request | String |
| page_size | The number of results to return per page | Integer |
| order_by | The field to order the results by | String |
| filter | The filter to apply to the results | String |
-
Name Description Type total The total number of keys matching the filter Integer remaining The number of keys remaining in the list, including the keys in the response Integer keys The list of API keys Array[APIKey] next_page_token The page token to use for the next request String
GetAPIKey
GET
/v1/consumers/{ConsumerID}/apikeys/{KeyID}Retrieves the specified API key..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| consumer_id | The ID of the API consumer | String |
| key_id | The ID of the API key | String |
-
Name Description Type key_id The ID of the API key String key The API key String expire_time The time the key expires Timestamp
DeleteAPIKey
DELETE
/v1/consumers/{ConsumerID}/apikeys/{KeyID}Deletes an API key..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| consumer_id | The ID of the API consumer the key is associated with | String |
| key_id | The ID of the API key to be deleted | String |
USERS
Package users allows retrieving user data.
CreateUser
POST
/v1/usersCreates a new user..
| Name | Description | Type |
|---|---|---|
| user_id | The ID of the user | String |
| username | The username for the user | String |
| password | The password of the user | String |
| The email for the user | String | |
| title | The user's title | String |
| first_name | The user's first name | String |
| last_name | The user's last name | String |
| role_id | The ID of the role the user is assigned to | String |
| access | The access permissions for the user | Permission |
| assigned_branch_id | The ID of the branch assigned to the user | String |
| mobile_phone | The mobile phone number of the user | String |
| home_phone | The home phone number of the user | String |
| language | The preferred language of the user | String |
| notes | Extra information for the user | String |
| transaction_limits | The transaction limits for the user | Map<String, Integer> |
| two_factor_authentication | A flag indicating if the user has enabled two-factor authentication | Boolean |
| state | The state of the user account | State |
| create_time | The time when the user was created | Timestamp |
| update_time | The time the user account was last updated | Timestamp |
| login_time | The time the user last logged in | Timestamp |
-
Name Description Type user_id The ID of the user String username The username for the user String password The password of the user String email The email for the user String title The user's title String first_name The user's first name String last_name The user's last name String role_id The ID of the role the user is assigned to String access The access permissions for the user Permission assigned_branch_id The ID of the branch assigned to the user String mobile_phone The mobile phone number of the user String home_phone The home phone number of the user String language The preferred language of the user String notes Extra information for the user String transaction_limits The transaction limits for the user Map<String, Integer> two_factor_authentication A flag indicating if the user has enabled two-factor authentication Boolean state The state of the user account State create_time The time when the user was created Timestamp update_time The time the user account was last updated Timestamp login_time The time the user last logged in Timestamp
ListUsers
GET
/v1/usersLists users..
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 users matching the filter Integer remaining The number of users remaining in the list, including the users in the response Integer users The list of users retrieved Array[User] next_page_token The token for the next page of users String
GetUser
GET
/v1/users/{UserID}Retrieves the specified user by their ID..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| user_id | The ID of the users to retrieve | String |
-
Name Description Type user_id The ID of the user String username The username for the user String password The password of the user String email The email for the user String title The user's title String first_name The user's first name String last_name The user's last name String role_id The ID of the role the user is assigned to String access The access permissions for the user Permission assigned_branch_id The ID of the branch assigned to the user String mobile_phone The mobile phone number of the user String home_phone The home phone number of the user String language The preferred language of the user String notes Extra information for the user String transaction_limits The transaction limits for the user Map<String, Integer> two_factor_authentication A flag indicating if the user has enabled two-factor authentication Boolean state The state of the user account State create_time The time when the user was created Timestamp update_time The time the user account was last updated Timestamp login_time The time the user last logged in Timestamp
UpdateUser
PUT
/v1/users/{UserID}Updates the information of an existing User..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| user_id | The ID of the user to be updated | String |
| Name | Description | Type |
|---|---|---|
| user_id | The ID of the user | String |
| username | The username for the user | String |
| password | The password of the user | String |
| The email for the user | String | |
| title | The user's title | String |
| first_name | The user's first name | String |
| last_name | The user's last name | String |
| role_id | The ID of the role the user is assigned to | String |
| access | The access permissions for the user | Permission |
| assigned_branch_id | The ID of the branch assigned to the user | String |
| mobile_phone | The mobile phone number of the user | String |
| home_phone | The home phone number of the user | String |
| language | The preferred language of the user | String |
| notes | Extra information for the user | String |
| transaction_limits | The transaction limits for the user | Map<String, Integer> |
| two_factor_authentication | A flag indicating if the user has enabled two-factor authentication | Boolean |
| state | The state of the user account | State |
| create_time | The time when the user was created | Timestamp |
| update_time | The time the user account was last updated | Timestamp |
| login_time | The time the user last logged in | Timestamp |
-
Name Description Type user_id The ID of the user String username The username for the user String password The password of the user String email The email for the user String title The user's title String first_name The user's first name String last_name The user's last name String role_id The ID of the role the user is assigned to String access The access permissions for the user Permission assigned_branch_id The ID of the branch assigned to the user String mobile_phone The mobile phone number of the user String home_phone The home phone number of the user String language The preferred language of the user String notes Extra information for the user String transaction_limits The transaction limits for the user Map<String, Integer> two_factor_authentication A flag indicating if the user has enabled two-factor authentication Boolean state The state of the user account State create_time The time when the user was created Timestamp update_time The time the user account was last updated Timestamp login_time The time the user last logged in Timestamp
DeleteUser
DELETE
/v1/users/{UserID}Deletes the specified User..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| user_id | The ID of the user to delete | String |
ROLES
Package roles manages client and user roles.
CreateClientRole
POST
/v1/clients/rolesCreates a new client role..
| Name | Description | Type |
|---|---|---|
| role_id | The ID of the role | String |
| name | The human-readable name of the role | String |
| client_type | The type of the entity for which the role was created | Entity |
| description | The description for the role | String |
| require_id | A flag that mandates identification documents during client creation | Boolean |
| can_guarantee | A flag that enables clients under this role to act as guarantors | Boolean |
| can_open_accounts | A flag indicating whether new accounts for this client type can be created | Boolean |
| use_default_address | A flag indicating whether the default address section will be available | Boolean |
| create_time | The time of creation of the role | Timestamp |
| update_time | The time the role was last updated | Timestamp |
-
Name Description Type role_id The ID of the role String name The human-readable name of the role String client_type The type of the entity for which the role was created Entity description The description for the role String require_id A flag that mandates identification documents during client creation Boolean can_guarantee A flag that enables clients under this role to act as guarantors Boolean can_open_accounts A flag indicating whether new accounts for this client type can be created Boolean use_default_address A flag indicating whether the default address section will be available Boolean create_time The time of creation of the role Timestamp update_time The time the role was last updated Timestamp
ListClientRoles
GET
/v1/clients/rolesLists client roles..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token to use for pagination | String |
| page_size | The number of results to return per page | Integer |
| order_by | The field to order the results by | String |
| filter | The filter to apply to the results | String |
-
Name Description Type total The total number of client roles matching the filter Integer remaining The number of client roles remaining in the list, including the client roles in the response Integer roles The list of roles Array[ClientRole] next_page_token The token to use for pagination String
GetClientRole
GET
/v1/clients/roles/{RoleID}Retrieves a client role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| role_id | The ID of the client role to retrieve | String |
-
Name Description Type role_id The ID of the role String name The human-readable name of the role String client_type The type of the entity for which the role was created Entity description The description for the role String require_id A flag that mandates identification documents during client creation Boolean can_guarantee A flag that enables clients under this role to act as guarantors Boolean can_open_accounts A flag indicating whether new accounts for this client type can be created Boolean use_default_address A flag indicating whether the default address section will be available Boolean create_time The time of creation of the role Timestamp update_time The time the role was last updated Timestamp
UpdateClientRole
PUT
/v1/clients/roles/{RoleID}Updates the configuration of the specified client role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| role_id | The ID of the client role to update | String |
| Name | Description | Type |
|---|---|---|
| role_id | The ID of the role | String |
| name | The human-readable name of the role | String |
| client_type | The type of the entity for which the role was created | Entity |
| description | The description for the role | String |
| require_id | A flag that mandates identification documents during client creation | Boolean |
| can_guarantee | A flag that enables clients under this role to act as guarantors | Boolean |
| can_open_accounts | A flag indicating whether new accounts for this client type can be created | Boolean |
| use_default_address | A flag indicating whether the default address section will be available | Boolean |
| create_time | The time of creation of the role | Timestamp |
| update_time | The time the role was last updated | Timestamp |
-
Name Description Type role_id The ID of the role String name The human-readable name of the role String client_type The type of the entity for which the role was created Entity description The description for the role String require_id A flag that mandates identification documents during client creation Boolean can_guarantee A flag that enables clients under this role to act as guarantors Boolean can_open_accounts A flag indicating whether new accounts for this client type can be created Boolean use_default_address A flag indicating whether the default address section will be available Boolean create_time The time of creation of the role Timestamp update_time The time the role was last updated Timestamp
DeleteClientRole
DELETE
/v1/clients/roles/{RoleID}Deletes the specified client role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| role_id | The ID of the client role to delete | String |
CreateUserRole
POST
/v1/roles/usersCreates a new user role..
| Name | Description | Type |
|---|---|---|
| role_id | The ID of the role | String |
| name | The name of the role | String |
| access | The access permissions assigned to the role | Permission |
| notes | Human-readable notes about the role | String |
| create_time | The time the role was created | Timestamp |
| update_time | The time the role was last modified | Timestamp |
-
Name Description Type role_id The ID of the role String name The name of the role String access The access permissions assigned to the role Permission notes Human-readable notes about the role String create_time The time the role was created Timestamp update_time The time the role was last modified Timestamp
ListUserRoles
GET
/v1/roles/usersLists user roles..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| page_token | The token to use for pagination | String |
| page_size | The number of results to return per page | Integer |
| order_by | The field to order the results by | String |
| filter | The filter to apply to the results | String |
-
Name Description Type total The total number of user roles matching the filter Integer remaining The number of user roles remaining in the list, including the user roles in the response Integer roles The list of roles Array[UserRole] next_page_token The token to use for pagination String
GetUserRole
GET
/v1/roles/users/{RoleID}Retrieves a user role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| role_id | The ID of the role to retrieve | String |
-
Name Description Type role_id The ID of the role String name The name of the role String access The access permissions assigned to the role Permission notes Human-readable notes about the role String create_time The time the role was created Timestamp update_time The time the role was last modified Timestamp
UpdateUserRole
PUT
/v1/roles/users/{RoleID}Updates an existing user role..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| role_id | The ID of the role to update | String |
| Name | Description | Type |
|---|---|---|
| role_id | The ID of the role | String |
| name | The name of the role | String |
| access | The access permissions assigned to the role | Permission |
| notes | Human-readable notes about the role | String |
| create_time | The time the role was created | Timestamp |
| update_time | The time the role was last modified | Timestamp |
-
Name Description Type role_id The ID of the role String name The name of the role String access The access permissions assigned to the role Permission notes Human-readable notes about the role String create_time The time the role was created Timestamp update_time The time the role was last modified Timestamp
DeleteUserRole
DELETE
/v1/roles/users/{RoleID}Deletes a role via the role ID..
Parameters| Name | Description | Type |
|---|---|---|
| Query Parameters | ||
| role_id | The ID of the role to delete | String |
APIKey
The key that can be used to access the core banking API, by an API consumer..
| Name | Description | Type |
|---|---|---|
| key_id | The ID of the API key | String |
| key | The API key | String |
| expire_time | The time the key expires | Timestamp |
Access
Permissions and access rights for a consumer..
| Name | Description | Type |
|---|---|---|
| admin | A flag granting full access to the API | Boolean |
| api | A flag granting access to the API | Boolean |
| all_branches | A flag granting the user permission to access all branches | Boolean |
| branches | A list of branches the user is allowed to access | Array[String] |
| credit_officer | A flag granting credit officer access and enabling clients and groups to be assigned to the user | Boolean |
| manage_other_officers | A flag granting the user permission to manage other officers | Boolean |
| permissions | A list of permissions granted to the consumer | Array[Permission] |
Consumer
An API consumer of the core banking UI, granting limited access to the API..
| Name | Description | Type |
|---|---|---|
| consumer_id | The ID of the API consumer | String |
| name | The name of the API consumer | String |
| type | The type of the API consumer | ConsumerType |
| branch_id | The ID of the branch assigned to the API consumer | String |
| access | The access permissions of the API consumer | Access |
| role_id | The ID of the role of the API consumer | String |
| transaction_limits | The transaction limits for the consumer if the user is allowed to make transactions | Map<String, Integer> |
| create_time | The time the API consumer was created | Timestamp |
| update_time | The time the API consumer was last updated | Timestamp |
ConsumerType
The type of API consumer..
| Name | Description |
|---|---|
| TypeStreamingAPI | |
| TypeAuditTrail | |
| TypePayments |
NewAPIKey
The request body for creating an API key..
| Name | Description | Type |
|---|---|---|
| expires | When the API key expires | Integer |
State
The state of the user account..
| Name | Description |
|---|---|
| Active | |
| Inactive | |
| Locked |
User
A user used for accessing the core banking interface..
| Name | Description | Type |
|---|---|---|
| user_id | The ID of the user | String |
| username | The username for the user | String |
| password | The password of the user | String |
| The email for the user | String | |
| title | The user's title | String |
| first_name | The user's first name | String |
| last_name | The user's last name | String |
| role_id | The ID of the role the user is assigned to | String |
| access | The access permissions for the user | Permission |
| assigned_branch_id | The ID of the branch assigned to the user | String |
| mobile_phone | The mobile phone number of the user | String |
| home_phone | The home phone number of the user | String |
| language | The preferred language of the user | String |
| notes | Extra information for the user | String |
| transaction_limits | The transaction limits for the user | Map<String, Integer> |
| two_factor_authentication | A flag indicating if the user has enabled two-factor authentication | Boolean |
| state | The state of the user account | State |
| create_time | The time when the user was created | Timestamp |
| update_time | The time the user account was last updated | Timestamp |
| login_time | The time the user last logged in | Timestamp |
ClientRole
The roles of a client or group in the system..
| Name | Description | Type |
|---|---|---|
| role_id | The ID of the role | String |
| name | The human-readable name of the role | String |
| client_type | The type of the entity for which the role was created | Entity |
| description | The description for the role | String |
| require_id | A flag that mandates identification documents during client creation | Boolean |
| can_guarantee | A flag that enables clients under this role to act as guarantors | Boolean |
| can_open_accounts | A flag indicating whether new accounts for this client type can be created | Boolean |
| use_default_address | A flag indicating whether the default address section will be available | Boolean |
| create_time | The time of creation of the role | Timestamp |
| update_time | The time the role was last updated | Timestamp |
Permission
The list of permissions a role grants..
| Name | Description | Type |
|---|---|---|
| admin | Whether they user has admin access | Boolean |
| api | Whether user has access to the core banking API | Boolean |
| all_branches | Whether the user permissions apply to all branches | Boolean |
| branches | A list of branches the user has access to | Array[String] |
| credit_officer | Whether the user is a credit officer | Boolean |
| manage_other_entities | Whether the user can manage entities assigned to other officers | Boolean |
| web | True if the user has access to the online web interface | Boolean |
| delivery | If the user is part of the delivery team | Boolean |
| support | If the user has access to technical support | Boolean |
| teller | If the user is a teller, giving access to the teller module | Boolean |
| permissions | A list of permissions granted to the user | Array[Permission] |
UserRole
The role of a user..
| Name | Description | Type |
|---|---|---|
| role_id | The ID of the role | String |
| name | The name of the role | String |
| access | The access permissions assigned to the role | Permission |
| notes | Human-readable notes about the role | String |
| create_time | The time the role was created | Timestamp |
| update_time | The time the role was last modified | Timestamp |