Users
The Users resource provides access to all methods relating to Users in Keystash.
List Users
Path: /users/list
Method: GET
Authentication: Bearer Token
Request Headers
Param | Value | Required |
---|---|---|
Accept-Encoding |
gzip | optional |
Request Body
None.
Example Request
curl
curl --location --request GET 'http://app.keystash.io/api/v1/users/list'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
[
{
"id": "x0Uf09z3TYjoNVFv",
"firstname": "Max",
"lastname": "Smith",
"email": "maxsmith@example.org",
"username": "maxsmith@example.org",
"server_username": "maxsmith",
"role_id": "rzbSZtL2zI0oA16V",
"role_name": "Administrator",
"status": "Active",
"two_factor_enabled": false,
"created": "2022-04-03 16:07:11",
"created_user_id": "Unknown",
"created_by": "Unknown",
"modified": "2022-04-03 16:09:35",
"modified_user_id": "x0Uf09z8TYjoNVFB",
"modified_by": "Max Smith"
},
{
"id": "40SZWHyteshQFcaZ",
"firstname": "Anne",
"lastname": "Teak",
"email": "anneteak@example.org",
"username": "anneteak@example.org",
"server_username": "anneteak",
"role_id": "rzbSZtL2zI0oA16V",
"role_name": "Administrator",
"status": "Active",
"two_factor_enabled": false,
"created": "2022-05-24 09:34:32",
"created_user_id": "x0Uf09z3TYjoNVFv",
"created_by": "Max Smith",
"modified": "2022-09-05 15:04:24",
"modified_user_id": "x0Uf09z3TYjoNVFv",
"modified_by": "Max Smith"
},
{
"id": "LdaOTztlSp2RwreN",
"firstname": "Perry",
"lastname": "Scope",
"email": "perryscope@example.org",
"username": "perryscope@example.org",
"server_username": "perryscope",
"role_id": "rzbSZtL2zI0oA16V",
"role_name": "Administrator",
"status": "Active",
"two_factor_enabled": false,
"created": "2022-05-24 09:38:04",
"created_user_id": "x0Uf09z3TYjoNVFv",
"created_by": "Max Smith",
"modified": "2022-09-14 10:39:56",
"modified_user_id": "x0Uf09z3TYjoNVFv",
"modified_by": "Max Smith"
},
{
"id": "s6e2RtXo3lkaPr3Q",
"firstname": "Oscar",
"lastname": "Troisi",
"email": "oscartroisi@example.org",
"username": "oscartroisi@example.org",
"server_username": "oscartroisi",
"role_id": "rzbSZtL2zI0oA16V",
"role_name": "Administrator",
"status": "Active",
"two_factor_enabled": false,
"created": "2022-05-24 09:39:07",
"created_user_id": "x0Uf09z3TYjoNVFv",
"created_by": "Max Smith",
"modified": "2022-05-24 10:00:57",
"modified_user_id": "x0Uf09z3TYjoNVFv",
"modified_by": "Max Smith"
}
]
View User
Path: /users/view
Method: GET
Authentication: Bearer Token
Request Headers
Key | Value | Required |
---|---|---|
Accept-Encoding |
gzip | optional |
Request Parameters
Key | Value | Required |
---|---|---|
id |
x0Uf09z3TYjoNVFv | required |
Request Body
None.
Example Request
curl
curl --location --request GET 'http://app.keystash.io/api/v1/users/view?id=x0Uf09z3TYjoNVFv'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
[
{
"id": "x0Uf09z3TYjoNVFv",
"firstname": "Max",
"lastname": "Smith",
"email": "maxsmith@example.org",
"username": "maxsmith@example.org",
"server_username": "maxsmith",
"role_id": "rzbSZtL2zI0oA16V",
"role_name": "Administrator",
"status": "Active",
"two_factor_enabled": false,
"expire_user": false,
"delete_after_expire": false,
"expiration_date": "",
"created": "2022-04-03 16:07:11",
"created_user_id": "Unknown",
"created_by": "Unknown",
"modified": "2022-04-03 16:09:35",
"modified_user_id": "x0Uf09z3TYjoNVFv",
"modified_by": "Max Smith"
}
]
Create User
Path: /users/create
Method: POST
Authentication: Bearer Token
Request Headers
Key | Value | Required |
---|---|---|
Content-Type |
application/json |
required |
Request Parameters
None.
Request Body Parameters
Key | Data Type | Required | Notes |
---|---|---|---|
firstname |
string | required | Users firstname |
lastname |
string | required | Users lastname |
server_username |
string | required | Username that will be used to login to Linux servers |
email |
string | required | Valid email address of the user |
role_id |
string | required | ID of the Role that will be assigned to the user |
use_single_sign_on |
boolean | optional | Determines if this user should use single sign-on or a normal username and password. Keystash will send a different email invitation depending on this parameter. Note: This is only required if you have configured and enabled single sign-on (SSO). This will default to true if you have signle sign-on enabled. |
expire_user |
boolean | optional | Determines if this user should be expired at expiration_date |
delete_after_expire |
boolean | optional | Required if expire_user is set. If this is set to true then the user account will be deleted instead of disabled. |
expiration_date |
ISO 8601 date string | optional | The date and time in UTC time at which the user will be expired. Format: 2020-02-25 21:30:26 (YYYY-MM-DD HH:mm:ss) |
Example Request Body
{
"firstname": "John",
"lastname": "Smith",
"server_username": "johnsmith",
"email": "jonhsmith@example.org",
"role_id": "rzbSZtL2zI0oA16V",
"use_single_sign_on": false,
"expire_user": true,
"delete_after_expire": false,
"expiration_date": "2022-07-13 12:39:00"
}
Example Request
curl
curl --location --request POST 'https://app.keystash.io/api/v1/users/create' \
--header 'Content-Type: application/json' \
--data-raw '{
"firstname": "John",
"lastname": "Smith",
"server_username": "johnsmith",
"email": "jonhsmith4@example.org",
"role_id": "rzbSZtL2zI0oA16V",
"expire_user": true,
"delete_after_expire": false,
"expiration_date": "2022-07-13 12:39:00"
}'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": "User was successfully created.",
"id": "KeJA92MhgOVFYQhr"
}
Update User
Path: /users/update
Method: POST
Authentication: Bearer Token
Request Headers
Key | Value | Required |
---|---|---|
Content-Type |
application/json |
required |
Request Parameters
None.
Request Body Parameters
Key | Data Type | Required | Notes |
---|---|---|---|
id |
string | required | The ID of the user to update |
firstname |
string | optional | Users firstname |
lastname |
string | optional | Users lastname |
server_username |
string | optional | Username that will be used to login to Linux servers |
password |
string | optional | Change the users password to the specified string |
email |
string | optional | Valid email address of the user |
role_id |
string | optional | ID of the Role that will be assigned to the user |
expire_user |
boolean | optional | Determines if this user should be expired at expiration_date |
delete_after_expire |
boolean | optional | Required if expire_user is set. If this is set to true then the user account will be deleted instead of disabled. |
expiration_date |
ISO 8601 date string | optional | The date and time in UTC time at which the user will be expired. Format: 2020-02-25 21:30:26 (YYYY-MM-DD HH:mm:ss) |
Example Request Body
{
"id": "KcJA96MhgOVFYQhx",
"firstname": "John",
"lastname": "Smith",
"password": "Mysupersecretpassword1",
"expire_user": true,
"delete_after_expire": false,
"expiration_date": "2022-07-25 19:00:00"
}
Example Request
curl
curl --location --request POST 'https://app.keystash.io/api/v1/users/update' \
--header 'Content-Type: application/json' \
--data-raw '{
"id": "KcJA96MhgOVFYQhx",
"firstname": "John",
"lastname": "Smith",
"password": "Mysupersecretpassword1",
"expire_user": true,
"delete_after_expire": false,
"expiration_date": "2022-07-25 19:00:00"
}'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": "User was successfully updated.",
"id": "KcJA96MhgOVFYQhx"
}
Enable User
Path: /users/enable
Method: GET
Authentication: Bearer Token
Request Headers
Key | Value | Required |
---|---|---|
Accept-Encoding |
gzip | optional |
Request Parameters
Key | Value | Required |
---|---|---|
id |
x0Uf09z3TYjoNVFv | required |
Request Body
None.
Example Request
curl
curl --location --request GET 'http://app.keystash.io/api/v1/users/enable?id=x0Uf09z3TYjoNVFv'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": "User with ID 'x0Uf09z3TYjoNVFv' was successfully enabled."
}
Disable User
Path: /users/disable
Method: GET
Authentication: Bearer Token
Request Headers
Key | Value | Required |
---|---|---|
Accept-Encoding |
gzip | optional |
Request Parameters
Key | Value | Required |
---|---|---|
id |
x0Uf09z3TYjoNVFv | required |
Request Body
None.
Example Request
curl
curl --location --request GET 'http://app.keystash.io/api/v1/users/disable?id=x0Uf09z3TYjoNVFv'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": "User with ID 'x0Uf09z3TYjoNVFv' was successfully disabled."
}
Delete User
Path: /users/delete
Method: GET
Authentication: Bearer Token
Request Headers
Key | Value | Required |
---|---|---|
Accept-Encoding |
gzip | optional |
Request Parameters
Key | Value | Required |
---|---|---|
id |
x0Uf09z3TYjoNVFv | required |
Request Body
None.
Example Request
curl
curl --location --request GET 'http://app.keystash.io/api/v1/users/delete?id=x0Uf09z3TYjoNVFv'
Example Response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"result": "User with ID 'x0Uf09z3TYjoNVFv' was successfully deleted."
}