User Management API Reference Guide
It is possible to manage Silo accounts using the User Management API commands. Below are definitions of each command along with example requests and responses.

Note: These commands are already built into the A8 Dir Sync Module for AD users who want to sync user accounts.


Prerequisites
● API token - Contact Support to obtain a token
● Org Names - You will need to have the names of the Silo orgs that you want to manage handy
●    Endpoint - All commands should be made by POST to https://extapi.authentic8.com


Details on API calls
Here is the list of supported user management API requests:
● listusers - lists all information about users in an org
● adduser - adds a user to an org
● deleteuser - deletes a user from an org
● suspenduser - suspends a user which makes the user unable to log in
● unsuspenduser - reverses the suspenduser command
● modifyuser - used to change user information

List Users
List all users in an org

Required parameters:
● API token (setauth) - provided by Support
● Org name (org) - the Silo org name

Optional Data
● Command ID - a string which will be echoed back with the response

Example usage (delivered via a POST):
[
{ "command": "setauth", "data": "<API Token>" },
{ "command": "listusers",
"org": "Rockers",
"command_id": "Rockers"
}
]

Example output:
[
{
"result": "setting auth from data"
},
{
"command_id": "Rockers",
"result": [
{
"email": "jramone@authentic8.com",
"given_name": "Joey",
"is_suspended": false,
"phone": [
{
"cc": "1",
"display": "415-555-1212",
"num": "4155551212"
}
],
"surname": "Ramone",
"username": "jramone@ramones.com"
}
]
}
]

Add Users
Add users to an org

Required parameters:
● API token (setauth) - provided by Support
● Org name (org) - the Silo org name
● User ID (username) - usually an email address
● Email (email) - usually the same as User ID

Optional Data
● Command ID - a string which will be echoed back with the response
● First Name (given_name) - The user’s first name
● Last Name (surname) - The user’s last name
● Mobile Number (phone) - usually a user’s mobile phone for receiving SMS messages
Example usage (delivered via a POST):

[
{ "command": "setauth", "data": "<API Token>" },
{ "command": "adduser",
"org": "Rockers",
"username": "mramone@ramones.com",
"email": "mramone@authentic8.com",
"given_name": "Markey",
"surname": "Ramone",
"phone": "415-555-1212"
}
]

Example output:

[
{
"result": "setting auth from data"
},
{
"result": "user added"
}
]

Delete User
Deletes a user

Required parameters:
● API token (setauth) - provided by Support
● User ID (username) - usually an email address

Optional Data
● Command ID - a string which will be echoed back with the response

Example usage (delivered via a POST):

[ { "command": "setauth", "data": "<API Token>" },
{ "command": "deleteuser",
"username": "jramone@ramones.com"
}
]

Example output:

[
{
"result": "setting auth from data"
},
{
"result": "user deleted"
}
]

Suspend User
Suspends a user

Required parameters:
● API token (setauth) - provided by Support
● User ID (username) - usually an email address

Optional Data
● Command ID - a string which will be echoed back with the response

Example usage (delivered via a POST):

[ { "command": "setauth", "data": "<API Token>" },
{ "command": "suspenduser",
"username": "jramone@ramones.com"
}
]

Example output:

[
{
"result": "setting auth from data"
},
{
"result": "user suspended"
}
]

Un-suspend User

Activates a suspended user

Required parameters:
● API token (setauth) - provided by Support
● User ID (username) - usually an email address

Optional Data
● Command ID - a string which will be echoed back with the response

Example usage (delivered via a POST):

[ { "command": "setauth", "data": "<API Token>" },
{ "command": "unsuspenduser",
"username": "jramone@ramones.com"
}
]

Example output
:

[
{
"result": "setting auth from data"
},
{
"result": "user unsuspended"
}
]

Modify User
Modifies some parts of the user object.
Note: username and email can only be modified by Authentic8 Support

Required parameters:
● API token (setauth) - provided by Support
● Email (email) - existing account email
● One item to be updated - should be at least one but can also be all
○ phone
○ given_name
○ surname

Optional Data
● Command ID - a string which will be echoed back with the response

Example usage (delivered via a POST):

[
{ "command": "setauth", "data": "<API Token>" },
{ "command": "modifyuser",
"email": "jramone@authentic8.com",
"phone": "212-555-1212"
}
]


Example output:

[
{
"result": "setting auth from data"
},
{
"result": "user modified"
}
]
Notes
● All API calls require a User Sync Token which can be obtained from Authentic8 Support (https://support.authentic8.com/support/tickets/new)
● Multiple items can be sent at once. For example:
[
{ "command": "setauth", "data": "Cy9jVhBWKaCePC+/gXY4Toz8IQkrJsAVv0udtTwrmRp8YuOY+la9y3kM4EWomkYy6+nSW4DvBKnntNk5S5yAzA3AsUwaILvOJOG9VSGGd/vExWwE/NXderA8rSiTOG2+0RM88L9XVQAsdnWV+mW+S3lWrUheF2Uyai+H1IGl/pxLwimSDehxWDNOCkHqEFRau8GtuCgZEfVn5anUuN4EpSt6uV45WZL1uiFAbTQsKP5wdWLC" },
{ "command": "adduser",
"org": "Rockers",
"username": "jramone@ramones.com",
"email": "jramone@authentic8.com",
"given_name": "Joey",
"surname": "Ramone",
"phone": "415-555-1212"
},
{ "command": "adduser",
"org": "Rockers",
"username": "ddramone@ramones.com",
"email": "ddramone@authentic8.com",
"given_name": "Dee Dee",
"surname": "Ramone",
"phone": "415-555-1212"
},
{ "command": "adduser",
"org": "Rockers",
"username": "tramone@ramones.com",
"email": "tramone@authentic8.com",
"given_name": "Tommy",
"surname": "Ramone",
"phone": "415-555-1212"
},
{ "command": "adduser",
"org": "Rockers",
"username": "mramone@ramones.com",
"email": "mramone@authentic8.com",
"given_name": "Markey",
"surname": "Ramone",
"phone": "415-555-1212"
}
]
[
{
"result": "setting auth from data"
},
{
"result": "user added"
},
{
"result": "user added"
},
{
"result": "user added"
},
{
"result": "user added"
}
]



Additional Questions
Please contact Authentic8 Support with any questions or concerns