How to Automate Management Tasks using Appdome Management API
Last updated May 16, 2022 by Liron DrorLearn How to Automate Management Tasks for USERS & TEAMS using the Appdome Management REST API.
How to Automate Management Tasks Using the Appdome Management REST API
This Knowledge Base article outlines how you can use the Appdome Management REST API to automate management tasks on your users and team within your company on Appdome.
We hope you find this knowledge base useful and enjoy using Appdome!
Managing USERS and TEAMS On Appdome
Many organizations use a unique email domain in their businesses. Appdome enables customers to effectively manage their User Accounts, Teams, and Team members registered with the company domain.
Appdome’s Management REST APIs enable high productivity mobile organizations to fully automate the user and team management tasks and incorporate Appdome’s mobile app security as part of their automated management toolsets and continuous integration and continuous delivery (CI/CD) workflows.
This article details the technical specifications of these API requests.
Management API user permissions
Read – The default permission for a user with Appdome Management API license. Read permission is required to retrieve company USERS and TEAMS information.
Write – Write permission is required to create and update USERS and TEAMS accounts and information.
Functional – An account with ‘Functional’ permission will be allowed to use Management REST APIs calls only (Running DEV Rest API calls is prohibited) and will not have an interactive logon to the Appdome platform. The ‘Functional’ account must have at least ‘Read’ or ‘Write’ permission.
In order to use Appdome’s Management REST API, you’ll need:
- Appdome account.
- Appdome-DEV access
- Appdome Management API license
- Your API Token (See how to get your API Token)
USER Management API
Retrieve all USER information using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/users
If the company has more than 20 users, use the following URL to retrieve the users’ information in separated pages:
https://fusion.appdome.com/api/v1/myCompany/users?limit=<number of users per output page, up to 20>&page=<page number to display> |
Method |
GET |
Management Permission |
Read |
Content-Type |
multipart/form-data or none |
Headers |
Authorization:<API token> |
API Description |
Allows you to retrieve your company users accounts status, permissions, and information |
CURL Example |
curl -X GET "https://fusion.appdome.com/api/v1/myCompany/users" -H "Authorization: eyJhbGciOiJIUzI1NiIsInR"
|
Response Format |
{"user_id": "The user ID number",
"first_name": "The user first name",
"last_name": "The user last name",
"name": "The user dispaly name"
"email": "The user email address",
"status": "The user account status - Active or Blocked"
"country": "The user country code",
"last_activity": "The date and time of the user last activity on the Appdome Date and time",
"api_token_enabled": 1//if the user have active API access to REST API, 0 if not.
"api_token_permissions": ["write", "read"]// Permissiong to Appdome's Management API
}
|
Retrieve single USER information using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/users/{{user_id}} |
Method |
GET |
Management Permission |
Read |
Content-Type |
multipart/form-data or none |
Headers |
Authorization:<API token> |
API Description |
Allows you to retrieve your company user account status, permissions, and information |
CURL Example |
curl -X GET "https://fusion.appdome.com/api/v1/myCompany/users/064003c0-6472-11eb-a118-fddfdd51" -H "Authorization: eyJhbGciOiJIUzI1NiIsInR"
|
Response Format |
{"id": "The user ID number",
"first_name": "The user first name",
"last_name": "The user last name",
"name": "The user dispaly name"
"email": "The user email address",
"status": "The user account status - Active or Blocked"
"last_activity": "The date and time of the user last activity on the Appdome Date and time",
"api_token_enabled": 1// if the user have active API access to REST API, 0 if not.
"api_token_permissions": ["write", "read"]// Permissiong to Appdome's Management API,
"country": "The user country code"
}
|
Create a new company USER using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/users |
Method |
POST |
Management Permission |
Write |
Content-Type |
application/json |
Headers |
Authorization:<API token> |
API Description |
Allows you to create a new user account that belongs to your company |
Payload Format |
(in JSON format:)
{
"first_name":"The user first name",// mandatory field
"last_name":"The user last name",//mandatory field
"email": "The user email",//mandatory field
"status":"active or blocked",//(deafult is active)
"country":"iso alpha-2 country code",
"api_token_enabled":1, // 1 - user will have active API access to REST API, 0 - otherwise "api_token_permissions":["read","write","functional"]//(deafult is read) }
|
CURL Example |
curl -X POST "https://fusion.appdome.com/api/v1/myCompany/users"
-H "Authorization: eyJhbGciOiJIUzI1NiIs"
-H "Content-Type: application/json"
"{
"first_name":"first name",
"last_name":"last name",
"email": "user@company.com",
"status":"active",
"country": "IL",
"api_token_enabled":1,
"api_token_permissions" :["read","write"]
}"
|
Response Format |
"status": "created",
"userDetails":
{"user_id": "The user ID number",
"first_name": "The user first name",
"last_name": "The user last name",
"name": "The user dispaly name"
"email": "The user email address",
"country": "The user country code"
"status": "The user account status"
"api_token_enabled": 1
"api_token_permissions": ["write", "read"]
"api_token": "AUTHKEY"
}
|
Update a company USER using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/users/{{user_id}} |
Method |
PUT |
Management Permission |
Write |
Content-Type |
application/json |
Headers |
Authorization:<API token> |
API Description |
Allows you to update an existing company user account |
Payload Format |
(in JSON format:)
{
"first_name":"The user first name",
"last_name":"The user last name",
"status":"active or blocked",
"country":"iso alpha-2 country code",
"api_token_enabled":1,// 1 - user will have active API access to REST API, 0 - otherwise
"api_token_permissions":["read","write","functional"] }
|
CURL Example |
curl -X PUT "https://fusion.appdome.com/api/v1/myCompany/users/064003c0-6472-11eb-a118-fddfdd51"
-H "Authorization: eyJhbGciOiJIUzI1NiIs"
-H "Content-Type: application/json"
"{
"first_name":"first name",
"last_name":"last name",
"status":"active",
"country": "IL",
"api_token_enabled":0,
"api_token_permissions" :[]
}"
|
Response Format |
{
"first_name": "The user first name",
"last_name": "The user last name",
"name": "The user dispaly name"
"email": "The user email address",
"country": "The user country code",
"status": "The user account status","last_activity": "2021-01-31T10:01:06.000Z",
"api_token_enabled": 0,
"api_token_permissions": []
}
|
Refresh the USER API token using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/users/{{user_id}}/refreshToken |
Method |
POST |
Management Permission |
Write |
Content-Type |
multipart/form-data or nonn |
Headers |
Authorization:<API token> |
API Description |
Allows you to refresh an existing company user API token |
CURL Example |
curl -X POST "https://fusion.appdome.com/api/v1/myCompany/users/064003c0-6472-11eb-a118-fddfdd51/refreshToken"
-H "Authorization: eyJhbGciOiJIUzI1NiIs"
|
Response Format |
"api_token": "AUTHKEY"
|
Block a USER account using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/users/{{user_id}}/blockUser |
Method |
PUT |
Management Permission |
Write |
Content-Type |
multipart/form-data or none |
Headers |
Authorization:<API token> |
API Description |
Allows you to change an existing company user account status to blocked |
CURL Example |
curl -X PUT "https://fusion.appdome.com/api/v1/myCompany/users/064003c0-6472-11eb-a118-fddfdd51/blockUser"
-H "Authorization: eyJhbGciOiJIUzI1NiIs"
|
Response Format |
{ "first_name": "The user first name",
"last_name": "The user last name",
"name": "The user dispaly name"
"email": "The user email address",
"country": "The user country code",
"status": "Blocked",
"last_activity": "2021-01-31T10:01:06.000Z",
"api_token_enabled": 0,
"api_token_permissions": [] }
|
TEAMS Management API
Retrieve all company TEAMS information using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/teams
If the company has more than 20 teams, use the following URL to retrieve the users’ information in separated pages:
https://fusion.appdome.com/api/v1/myCompany/teams?limit=<number of teams per output page, up to 20>&page=<page number to display> |
Method |
GET |
Management Permission |
Read |
Content-Type |
multipart/form-data or none |
Headers |
Authorization:<API token> |
API Description |
Allows you to retrieve your company teams accounts status, permissions, and information |
CURL Example |
curl -X GET "https://fusion.appdome.com/api/v1/myCompany/teams" -H "Authorization: eyJhbGciOiJIUzI1NiIsInR"
|
Response Format |
{
"id": "0c961820-63ac-11eb-f-55ec9c249059",
"name": "Team1",
"description": "Testing Team"
},
{
"id": "1c9682c0-63d2-11e47e-d5cdff1fda1f",
"name": "Team2",
"description": ""
},
{
"id": "5cb28de0-647c-d-eb117f8a20cb",
"name": "Team3",
"description": "Building apps"
}
|
Retrieve single TEAM information using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/teams/{{team_id}} |
Method |
GET |
Management Permission |
Read |
Content-Type |
multipart/form-data or none |
Headers |
Authorization:<API token> |
API Description |
Allows you to retrieve your company team and team members information |
CURL Example |
curl -X GET "https://fusion.appdome.com/api/v1/myCompany/teams/064003c0-6472-11eb-a118-fddfdd51" -H "Authorization: eyJhbGciOiJIUzI1NiIsInR"
|
Response Format |
"name": "The team name",
"id": "The team ID",
"description": "The team description",
"users": [
{"user_id": "The user ID",
"email": "user1@appdome.com",
"first_name": "user1 first name",
"last_name": "user1 last name",
"role": "Leader",
"entitlements": {
"FUSE_SECURITY": "Yes",
"FUSE_ACCESS": "Yes",
"FUSE_AUTHENTICATION": "Yes",
"FUSE_IDENTITY": "Yes",
"FUSE_EMM": "Yes",
"FUSE_THREATS": "Yes",
"FUSE_ANALYTICS": "Yes",
"FUSE_COLLABORATION": "Yes",
"UPLOAD": "Yes",
"DELETE": "Yes",
"EDIT_FUSION_SETS": "Yes",
"CUSTOMIZE": "Yes",
"SIGN": "Yes",
"APPROVE": "Yes",
"DEPLOY": "Yes",
"COPY_FUSION_SETS_INTO": "Yes",
"COPY_FUSED_BUILDS_INTO": "Yes"}},
{"user_id": "The user ID",
"email": "user2@appdome.com",
"first_name": "user2 first name",
"last_name": "user2 last name",
"role": "Member",
"entitlements": {
"FUSE_SECURITY": "No",
"FUSE_ACCESS": "Yes",
"FUSE_AUTHENTICATION": "No",
"FUSE_IDENTITY": "Yes",
"FUSE_EMM": "Yes",
"FUSE_THREATS": "No",
"FUSE_ANALYTICS": "Yes",
"FUSE_COLLABORATION": "Yes",
"UPLOAD": "Yes",
"DELETE": "Yes",
"EDIT_FUSION_SETS": "Yes",
"CUSTOMIZE": "No",
"SIGN": "Yes",
"APPROVE": "Yes",
"DEPLOY": "Yes",
"COPY_FUSION_SETS_INTO": "Yes",
"COPY_FUSED_BUILDS_INTO": "Yes"}},
]
|
Create a new TEAM using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/teams |
Method |
POST |
Management Permission |
Write |
Content-Type |
application/json |
Headers |
Authorization:<API token> |
API Description |
Allows you to create a new company team and add team members that belong to your company.
All the team members will automatically be assigned as team leaders and have all team entitlements granted.
The manager user that executes this management API will not automatically added to the team. The manager user can manually added to the user’s list.
|
Payload Format |
(in JSON format:)
{
"name":"The name of the new team",// mandatory field
"description":"The description of the new team",
"team_leaders_to_add": ["user_id1","user_id2"]//List of company users ID, mandatory field
}
|
CURL Example |
curl -X POST "https://fusion.appdome.com/api/v1/myCompany/teams"
-H "Authorization: eyJhbGciOiJIUzI1NiIs"
-H "Content-Type: application/json"
"{
"name":"The name of the new team",// mandatory field
"description":"The description of the team",
"team_leaders_to_add": ["user_id1","user_id2"]//List of users ID. mandatory field }"
|
Response Format |
"team": {"id": "d8d8b730-4b-11eb-8880-79912e8d91",
"name": "New Team",
"description": "The new team"},
"added_users": ["a251c0a0-47-11eb-a077-651fccaf6b90", "a25sdfs0a0-47-11eb-a077-651fcsfsdfb90"]
|
Update a TEAM using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/teams/{{team_id}} |
Method |
PUT |
Management Permission |
Write |
Content-Type |
application/json |
Headers |
Authorization:<API token> |
API Description |
Allows you to update an existing company team name and description |
Payload Format |
(in JSON format:)
{
"name":"The name of the team",
"description":"The new description of the team"
}
|
CURL Example |
curl -X PUT "https://fusion.appdome.com/api/v1/myCompany/teams/064003c0-6472-11eb-a118-dfdd51"
-H "Authorization: eyJhbGciOiJIUzI1NiIs"
-H "Content-Type: application/json"
"{
"name":"new name",
"description":"new description" }"
|
Response Format |
{
"id": "064003c0-6472-11eb-a118-dfdd51",
"name":"new name",
"description":"new description"
}
|
Update/Add USERS within a TEAM using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/teams/{{team_id}}/updateUserEntitlements |
Method |
PUT |
Management Permission |
Write |
Content-Type |
application/json |
Headers |
Authorization:<API token> |
API Description |
Allows you to add new company users into a team or update the role and entitlements of an existing member in the team. Each API request can hold up to 50 users. |
Payload Format |
(in JSON format:)
{
"users_to_add":
[
{"user_id": "user id"// mandatory,
"role": "Member/Leader"// the default role of new team members is member),
"entitlements":{
"UPLOAD":"NO/YES",
"FUSE_SECURITY":"NO/YES",
"SIGN":"NO/YES",
"COPY_FUSION_SETS_INTO":"NO/YES",}
},
{"user_id": "user id 2",
"role": "Member/Leader",
"entitlements":{
"DELETE":"NO/YES",
"COPY_FUSED_BUILDS_INTO":"NO/YES",
"SIGN":"NO/YES",
"COPY_FUSION_SETS_INTO":"NO/YES"
}
]
}
|
CURL Example |
curl -X PUT "https://fusion.appdome.com/api/v1/myCompany/teams/064003c0-6472-11eb-a118-ffdd51/updateUserEntitlements"
-H "Authorization: eyJhbGciOiJIUzI1NiIs"
-H "Content-Type: application/json"
"{
"users_to_add": [
{"user_id": "b0290-49d4-11eb-8a89-3b059679ef40",
"role": "Member",
"entitlements":{"UPLOAD":"NO", "SIGN":"NO"}},
{"user_id": "39f3-47a6-11eb-8639-976a2b53123d",
"role": "Leader",
"entitlements":{"SIGN":""YES"}}
}"
|
Response Format |
{
"user_id": "b0290-49d4-11eb-8a89-3b059679ef40",
"role": "Member",
"entitlements": {
"SIGN": "NO",
"DELETE": "Yes",
"DEPLOY": "Yes",
"UPLOAD": "NO",
"APPROVE": "Yes",
"FUSE_EMM": "Yes",
"CUSTOMIZE": "Yes",
"FUSE_ACCESS": "Yes",
"FUSE_THREATS": "Yes",
"FUSE_IDENTITY": "Yes",
"FUSE_SECURITY": "Yes",
"FUSE_ANALYTICS": "Yes",
"EDIT_FUSION_SETS": "Yes",
"FUSE_COLLABORATION": "Yes",
"FUSE_AUTHENTICATION": "Yes",
"COPY_FUSION_SETS_INTO": "Yes",
"COPY_FUSED_BUILDS_INTO": "Yes"
},
{
"user_id": "39f3-47a6-11eb-8639-976a2b53123d",
"role": "Leader",
"entitlements": {
"SIGN": "YES",
"DELETE": "NO",
"DEPLOY": "NO",
"UPLOAD": "NO",
"APPROVE": "Yes",
"FUSE_EMM": "Yes",
"CUSTOMIZE": "Yes",
"FUSE_ACCESS": "Yes",
"FUSE_THREATS": "Yes",
"FUSE_IDENTITY": "Yes",
"FUSE_SECURITY": "Yes",
"FUSE_ANALYTICS": "Yes",
"EDIT_FUSION_SETS": "Yes",
"FUSE_COLLABORATION": "Yes",
"FUSE_AUTHENTICATION": "Yes",
"COPY_FUSION_SETS_INTO": "Yes",
"COPY_FUSED_BUILDS_INTO": "Yes"
},
"status": true
}
|
Remove a single USER from a TEAM using the Appdome Management REST API
URL |
https://fusion.appdome.com/api/v1/myCompany/teams/{{team_id}}/removeUserFromTeam |
Method |
PUT |
Management Permission |
Write |
Content-Type |
application/json |
Headers |
Authorization:<API token> |
API Description |
Allows you to remove a single user from your company team |
CURL Example |
curl -X PUT "https://fusion.appdome.com/api/v1/myCompany/teams/064003c0-6472-11eb-a118-fddfdd51/removeUserFromTeam"
-H "Authorization: eyJhbGciOiJIUzI1NiIsInR"
-H "Content-Type: application/json"
"{
"userId":"user ID 1"
}"
|
Response Format |
"users": [
{"user_id": "user ID 2",
"email": "user2@appdome.com",
"first_name": "user2 first name",
"last_name": "user2 last name",
"role": "Leader",
"entitlements": {
"FUSE_SECURITY": "Yes",
"FUSE_ACCESS": "Yes",
"FUSE_AUTHENTICATION": "Yes",
"FUSE_IDENTITY": "Yes",
"FUSE_EMM": "Yes",
"FUSE_THREATS": "Yes",
"FUSE_ANALYTICS": "Yes",
"FUSE_COLLABORATION": "Yes",
"UPLOAD": "Yes",
"DELETE": "Yes",
"EDIT_FUSION_SETS": "Yes",
"CUSTOMIZE": "Yes",
"SIGN": "Yes",
"APPROVE": "Yes",
"DEPLOY": "Yes",
"COPY_FUSION_SETS_INTO": "Yes",
"COPY_FUSED_BUILDS_INTO": "Yes"}},
]
|
How To Learn More
Check out Appdome Platform, or learn more about Appdome-DEV REST API and Appdome-DEV.
You can also use our API requests Postman Collection.
If you have any questions, please send them our way at support@appdome.com or via the chat window on the Appdome platform.
Thank you!
Thanks for visiting Appdome! Our mission is to secure every app on the planet by making mobile app security easy. We hope we’re living up to the mission with your project. If you don’t already have an account, you can sign up for free.