How to Automate Management Tasks using Appdome Management API

Learn 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:

  1. Appdome account.
  2. Appdome-DEV access
  3. Appdome Management API license
  4. 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 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 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 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 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 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 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 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 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 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 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 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 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.

Liron Dror

Have a question?

Ask an expert

DafnaMaking your security project a success!

Get Your Copy
2021 Global Mobile
Consumer Security
Survey