CRUD Users

The following are user-related endpoints.

Create a user

This endpoint is used by SA to create a user without a tenant role (ie. no tenant assignment).  Tenant roles need to be added in a subsequent call to /tenant_add_user by SA or /user_add by TA.  If the user does not exist, a Welcome Email will be sent to the user with an auto-generated password.  

Summary

  • Endpoint: /user_create
  • Method: GET
  • Required User Type: SA or TA

Path

  • user_name (required): username in email format
  • full_name (required): full name of user
  • language: language preference
    • Default: "en"

Response

UUID of the user if user is created.

400 Bad Request if user already exists.

Example

SA

/user_create?full_name=Test+User&user_name=testuser@mediumone.com

Response Data:

"946a453f-da88-44dd-8885-d5461f5e07a1"

 

Create user link to tenant

This is a common endpoint used to add a user to a tenant. This can be used to add an existing user to a tenant or to create a new user and link it the tenant.

Summary

  • Endpoint: /tenant_add_user
  • Method: GET
  • Required User Type: TA or SA

Parameters

  • tenant_id - UUID for tenant
    • Required by SA
    • Type: string
  • user_name - user email for login
    • Required 
    • Type: string
    • You need to encode the email for the URL
  • role - user role in the target tenant, either "tenant-admin" or "tenant-user"
    • Required 
    • Type: string
  • full_name - user's name for displaying, it will be used to create user when the user doesn't exist in the system 
    • Required by TA
    • Type: string

Response

A successful response will return null.

Example

SA

/tenant_add_user?tenant_id=b57f1307-02d6-4294-aba9-27fa12cb8049&role=tenant-admin&user_name=example%40example.com

TA

/tenant_add_user?role=tenant-admin&user_name=example%40example.com&full_name=exampleUser

 

Response Data:

null
 

Retrieve list of users in a tenant

You can use the following endpoint within your custom pages in order to get a list of basic information for all users linked to the tenant.

Summary

  • Endpoint: /user_list_in_tenant
  • Method: GET
  • Required User Type: SA or TA
    • TA can only query users linked to the current tenant

Body

  • tenant_id - UUID for tenant
    • Only Required by SA
    • Type: string
    • The UUID is the tenant_id, or the basic user for the tenant without the "t_"

Response

A successful response will return an array of objects in the "user_list" tag of the response.

Each of the objects represents a different user 

Example

SA

/user_list_in_tenant?tenant_id=3f1a5b4d-5e64-48d4-abab-8ead052fad1e

TA

/user_list_in_tenant 

Response Data:

{
"user_list":[
{
"full_name": "John",
"user_name": "john@example.com",
"user_id": "1fdf2fd2-b198-490e-8b6c-ab8f787fef4c",
"api_basic_user": "u_1fdf2fd2-b198-490e-8b6c-ab8f787fef4c",
"tenant_roles": [
{
"tenant_role": "tenant-admin",
"tenant_id": "3f1a5b4d-5e64-48d4-abab-8ead052fad1e",
"tenant_name": "test tenant"}
]
]
}

 

Retrieve a list of all users

This is only for SA.  Useful if building a custom Manage Users page.

Summary

  • Endpoint: /user_list
  • Method: GET
  • Required User Type: SA

Body

  • None

Response

A successful response will return an array of objects in the "user_list" tag of the response.

Each of the objects represents a different user 

Example

SA

/user_list 

Response Data:

[
{
"full_name": "App Test",
"user_name": "test@medium.one",
"user_id": "fdc0487f-a0ff-4e2c-8df1-957936ec9350",
"api_basic_user": "u_fdc0487f-a0ff-4e2c-8df1-957936ec9350",
"tenant_roles": [
{
"tenant_role": "tenant-admin",
"tenant_id": "8a5107f0-43f6-4b1a-9326-bbd684f13646",
"tenant_name": "Test User"
}
]
}
...
]

 

Update a user

This endpoint will update a user.  You can use this to change the user fields as well as changing their role.

Summary

  • Endpoint: /user_update
  • Method: GET
  • Required User Type: SA or TA

Params

  • user_name (required): username in email format
  • param_list: {"field":"<field1>","value":"<value1>"}
  • param_list: {"field":"<field1>","value":"<value2>"}
  • ...

Response

null

Example

The following example updates a user with the following params

  • param_list={"field":"full_name","value":"Mr Smith"}
  • param_list={"field":"user_phone","value":"8888888888"}
  • param_list={"field":"street","value":"1 Ocean"}
  • param_list={"field":"street2","value":"Apt 1"}
  • param_list={"field":"city","value":"Santa Cruz"}
  • param_list={"field":"state","value":"CALIFORNIA"}
  • param_list={"field":"zip","value":"95062"}
  • param_list={"field":"country","value":"United States"}
  • user_name=testuser+8@medium.one

SA/TU

/user_update?param_list=%7B%22field%22:%22full_name%22,%22value%22:%22Mr+Smith%22%7D&param_list=%7B%22field%22:%22user_phone%22,%22value%22:%228888888888%22%7D&param_list=%7B%22field%22:%22street%22,%22value%22:%221+Ocean%22%7D&param_list=%7B%22field%22:%22street2%22,%22value%22:%22Apt+1%22%7D&param_list=%7B%22field%22:%22city%22,%22value%22:%22Santa+Cruz%22%7D&param_list=%7B%22field%22:%22state%22,%22value%22:%22CALIFORNIA%22%7D&param_list=%7B%22field%22:%22zip%22,%22value%22:%2295062%22%7D&param_list=%7B%22field%22:%22country%22,%22value%22:%22United+States%22%7D&user_name=testuser%2B8@medium.one

Response Data:

null

 

Delete a user

This endpoint will delete a user from the portal.  

Summary

  • Endpoint: /user_remove
  • Method: GET
  • Required User Type: SA or TA

Path

  • user_name (required): username in email format

Response

null

Example

SA

/user_remove?user_name=testuser@mediumone.com

Response Data:

null

 

Delete a user from tenant

This endpoint will delete a user from the tenant, however the user will still exist in the portal.

Summary

  • Endpoint: /tenant_remove_user
  • Method: GET
  • Required User Type: SA or TA

Path

  • tenant_id - UUID for tenant
    • Required by SA
    • Type: string
  • user_name - user email for login
    • Required 
    • Type: string
    • You need to encode the email for the URL

Response

A successful response will return null.

Example

SA

/tenant_add_user?tenant_id=b57f1307-02d6-4294-aba9-27fa12cb8049&user_name=example%40example.com

TA

/tenant_add_user?user_name=example%40example.com

 

Response Data:

null