Skip to main content
Version: v4

Operations

Roles

List Roles

Restricted to super_user roles.

{
"operation": "list_roles"
}

Add Role

Restricted to super_user roles.

  • role (required) — Name for the new role.
  • permission (required) — Permissions object. See Permission Structure.
    • super_user (optional) — If true, grants full access. Defaults to false.
    • structure_user (optional) — Boolean or array of database names. If true, can create/drop databases and tables. If array, limited to specified databases.
{
"operation": "add_role",
"role": "developer",
"permission": {
"super_user": false,
"structure_user": false,
"dev": {
"tables": {
"dog": {
"read": true,
"insert": true,
"update": true,
"delete": false,
"attribute_permissions": [
{
"attribute_name": "name",
"read": true,
"insert": true,
"update": true
}
]
}
}
}
}
}

Alter Role

Restricted to super_user roles.

  • id (required) — The id of the role to alter (from list_roles).
  • role (optional) — New name for the role.
  • permission (required) — Updated permissions object.
{
"operation": "alter_role",
"id": "f92162e2-cd17-450c-aae0-372a76859038",
"role": "another_developer",
"permission": {
"super_user": false,
"structure_user": false,
"dev": {
"tables": {
"dog": {
"read": true,
"insert": true,
"update": true,
"delete": false,
"attribute_permissions": []
}
}
}
}
}

Drop Role

Restricted to super_user roles. Roles with associated users cannot be dropped.

  • id (required) — The id of the role to drop.
{
"operation": "drop_role",
"id": "developer"
}

Users

List Users

Restricted to super_user roles.

{
"operation": "list_users"
}

User Info

Returns user data for the currently authenticated user. Available to all roles.

{
"operation": "user_info"
}

Add User

Restricted to super_user roles.

  • role (required) — Role name to assign.
  • username (required) — Username. Cannot be changed after creation.
  • password (required) — Plain-text password. Harper encrypts it on receipt.
  • active (required) — Boolean. If false, user cannot access Harper.
{
"operation": "add_user",
"role": "role_name",
"username": "hdb_user",
"password": "password",
"active": true
}

Alter User

Restricted to super_user roles.

  • username (required) — Username to modify.
  • password (optional) — New password.
  • role (optional) — New role name.
  • active (optional) — Enable/disable user access.
{
"operation": "alter_user",
"role": "role_name",
"username": "hdb_user",
"password": "new_password",
"active": true
}

Drop User

Restricted to super_user roles.

{
"operation": "drop_user",
"username": "harper"
}