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

Creates a new API consumer..

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

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

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

Creates 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
Request Body (NewAPIKey)
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}/apikeys

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

Creates a new user..

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

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

Creates a new client role..

Request Body (ClientRole)
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/roles

Lists 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
Request Body (ClientRole)
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/users

Creates a new user role..

Request Body (UserRole)
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/users

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

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