Skip to content

Group ​

Group is a named collection of user or group identifiers. It can have permissions assigned to them directly or via the group membership, but cannot be authenticated.

Description ​

You can use user groups to specify permissions for a collection of users, which makes permissions easier to manage for those users. When you grant a permission to a group, all of the users (and groups) in the group are granted that permission (by transitive rule).

Reserved Names

The following names are reserved and Bondy will not allow them to be used as a value for the groups's name property: all and anonymous.

Types ​

input_data() ​

The object used to create or update a group.

The object represents as overview of the all group properties but the available properties are detailed in each particular operation.

namestringREQUIREDIMMUTABLE

The group identifier. This is always in lowercase.

groupsarray[string]

A list of group names.

metamapREQUIRED

Group metadata.

Default: {}

group() ​

The representation of the group returned by the read or write operations e.g. get, list, add or update.

namestringREQUIREDIMMUTABLE

The group identifier. This is always in lowercase.

groupsarray[string]

A list of group names.

metamapREQUIRED

Group metadata.

Default: {}

Procedures ​

NameURI
Add a group to a realmbondy.group.add
Add a group to a groupbondy.group.add_group
Add groups to a groupbondy.group.add_groups
Delete a group from a realmbondy.group.delete
Retrieve a group from a realmbondy.group.get
List all groups from a realmbondy.group.list
Remove a group from a groupbondy.group.remove_group
Remove groups from a groupbondy.group.remove_groups
Update a group into a realmbondy.group.update

Add a group to a realm ​

bondy.group.add(realm_uri(), input_data()) -> group() ​

Creates a new group and add it on the provided realm uri.

Publishes an event under topic bondy.group.added after the group has been created.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to add a group.

1object

The group configuration data

Keyword Args ​

None.

Result ​

Positional Results ​
0object

The created group.

Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.add \
"com.leapsight.test_creation_1" '{"name":"group_1"}' | jq
  • Response:
json
{
  "groups": [],
  "meta": {},
  "name": "group_1",
  "type": "group",
  "version": "1.1"
}
Success Call with Groups
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.add \
"com.leapsight.test_creation_1" '{"name":"group_2", "groups":["group_1"]}' | jq
  • Response:
json
{
  "groups": [
    "group_1"
  ],
  "meta": {},
  "name": "group_2",
  "type": "group",
  "version": "1.1"
}

Add a group to a group ​

bondy.group.add_group(realm_uri(), name(), name()) ​

Adds an existing group name to another existing group name.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to modify the group.

1stringREQUIRED

The name of the group you want to add a group name.

2stringREQUIRED

The group name to add.

Keyword Args ​

None.

Result ​

Positional Results ​

None.

Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.add_group \
"com.leapsight.test_creation_1" "group_1" "group_2"
  • Checking the updated group Response
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.get "com.leapsight.test_creation_1" "group_1" | jq
  • Response
json

Add groups to a group ​

bondy.group.add_groups(realm_uri(), name(), [name()]) ​

Adds a list of existing group names to another existing group name.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to modify the group.

1stringREQUIRED

The name of the group you want to add a group names.

2array[string]REQUIRED

The group names to add.

Keyword Args ​

None.

Result ​

Positional Results ​

None.

Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.add_groups \
"com.leapsight.test_creation_1" "group_1" '["group_2","group3"]'
  • Checking the updated group Response
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.get "com.leapsight.test_creation_1" "group_1" | jq
  • Response
json

Delete a group from a realm ​

bondy.group.delete(realm_uri(), name()) ​

Deletes an existing group from the provided realm uri.

Publishes an event under topic bondy.group.deleted after the group has been deleted.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to modify the group.

1stringREQUIRED

The name of the group you want to delete.

Keyword Args ​

None.

Result ​

Positional Results ​

None.

Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.delete \
"com.leapsight.test_creation_1" "group_3"

Retrieve a group from a realm ​

bondy.group.get(realm_uri(), name()) -> group() ​

Retrieves the requested group name on the provided realm uri.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to retrieve the group.

1stringREQUIRED

The group name of the group you want to retrieve.

Keyword Args ​

None.

Result ​

Positional Results ​

The call result is a single positional argument containing a group:

namestringREQUIREDIMMUTABLE

The group identifier. This is always in lowercase.

groupsarray[string]

A list of group names.

metamapREQUIRED

Group metadata.

Default: {}
Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.get "com.leapsight.test_creation_1" "group_2" | jq
  • Response
json
{
  "groups": [
    "group_1"
  ],
  "meta": {},
  "name": "group_2",
  "type": "group",
  "version": "1.1"
}

List all groups from a realm ​

bondy.group.list(realm_uri()) -> [group()] ​

Lists all groups of the provided realm uri.

TO_CHECK

By default, the anonymous group is returned but maybe it is no clear when the provided realm doesn't exist.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to retrieve the groups.

Keyword Args ​

None.

Result ​

Positional Results ​

The call result is a single positional argument containing a list of groups.

0array[object]

The groups of the realm you want to retrieve.

Keyword Results ​

None.

Errors ​

None.

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.list \
"com.leapsight.test_creation_1" | jq
  • Response:
json
[
  {
    "groups": [],
    "meta": {},
    "name": "anonymous",
    "type": "group",
    "version": "1.1"
  },
  {
    "groups": [],
    "meta": {},
    "name": "group_1",
    "type": "group",
    "version": "1.1"
  }
]

Remove a group from a group ​

bondy.group.remove_group(realm_uri(), name(), name()) ​

Removes an existing group name from another existing group name.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to modify the group.

1stringREQUIRED

The name of the group you want to remove a group name.

2stringREQUIRED

The group name to remove.

Keyword Args ​

None.

Result ​

Positional Results ​

None.

Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.remove_group \
"com.leapsight.test_creation_1" "group_1" "group_2"
  • Checking the updated group Response
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.get "com.leapsight.test_creation_1" "group_1" | jq
  • Response
json

Remove groups from a group ​

bondy.group.remove_groups(realm_uri(), name(), [name()]) ​

Removes a list of existing group names from another existing group name.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to modify the group.

1stringREQUIRED

The name of the group you want to remove a group names.

2array[string]REQUIRED

The group names to remove.

Keyword Args ​

None.

Result ​

Positional Results ​

None.

Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.remove_groups \
"com.leapsight.test_creation_1" "group_1" '["group_2","group3"]'
  • Checking the updated group Response
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.get "com.leapsight.test_creation_1" "group_1" | jq
  • Response
json

Update a group into a realm ​

bondy.group.update(realm_uri(), name(), input_data()) -> group() ​

Updates an existing group.

Publishes an event under topic bondy.group.updated after the group has been updated.

Call ​

Positional Args ​
0stringREQUIRED

The URI of the realm you want to update a group.

1stringREQUIRED

The name of the group you want to update.

2object

The group configuration data

Keyword Args ​

None.

Result ​

Positional Results ​
0object

The updated group.

Keyword Results ​

None.

Errors ​

Examples ​

Success Call
  • Request
bash
./wick --url ws://localhost:18080/ws \
--realm com.leapsight.bondy \
call bondy.group.update \
"com.leapsight.test_creation_1" "group_1" '{"groups":["group_2"]}' | jq
  • Response:
json
{
  "groups": [
    "group_2"
  ],
  "meta": {},
  "name": "group_1",
  "type": "group",
  "version": "1.1"
}

Topics ​

bondy.group.added ​

Positional Results ​
0string

The realm uri.

1string

The name of the group you have added.

Keyword Results ​

None.

bondy.group.updated ​

Positional Results ​
0string

The realm uri.

1string

The name of the group you have updated.

Keyword Results ​

None.

bondy.group.deleted ​

Positional Results ​
0string

The realm uri.

1string

The name of the group you have deleted.

Keyword Results ​

None.

Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-ShareAlike (CC-BY-SA) 4.0 International license.
Bondy and Leapsight are registered trademarks of Leapsight Technologies Ltd.