Skip to main content

Details

Keep in mind that on the first login with the freshly registered app version you need to do a login with the 'app registrar user'. By default, this is the same user that you used for registration at the server. So either make sure to use an appropriate user during registration or do the extra steps required to set a different 'app registrar user'. For example, if your login/activation process relies on having a valid Email address as the user name and getting an automatic confirmation Email, then you need to either use that same Email address as login name for the KOBIL Portal when accessing it to register a new app version or you need to determine the UUID-style userId of the user with that Email address and set that as the 'app registrar user'.

Register App Version via KOBIL Portal

  1. Register new app version in AST Services by using the KOBIL Portal.
    1.1 Go to App Management \ Apps Versions and press 'Add App Version' button:
    1.2 Enter 'App Version' number of your build app:

Note: Be sure that you enabled 'Integrity' for productive apps.

  1. Define the registration user for this app version (only needed when current user of KOBIL Portal will not be the later registration user)
    2.1 Go to App Management \ Apps Versions, select an app and press 'Edit Version':
    2.2 Set the correct 'App Registrar' user

Note: You need use the user id, not the user name for the 'app registrar user'!
Note: Be sure that you enabled 'Integrity' for productive apps.

  1. Do a normal login / activation with the registration user inside the app.

Note: For additional details see KOBIL Portal documentation.

Register App Version via cURL CLI

Note: All of the described API requests require an authorization token, see Getting Authorization Tokens. While the request to get an authorization token will use the subdomain idp all your App/App Version related requests should use the subdomain asts

Create a New App Version
curl -v -X POST https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/versions -H 'Content-Type: application/json' -H 'Content-Type: application/json' -d '{
"appName": "",
"platform": "",
"versionStr": "",
"registerUserId": "",
"versionLock": false,
"isCheckIntegrity": true
}' -H 'Authorization: Bearer $token'

your-environment.shift.company.com should be replaced by the suitable host name of your environment. While the request to get an authorization token will use the subdomain idp all your other requests should use the subdomain asts.
$yourTenantName must be the tenant managing the app and its version. For a short discussion of tenants see the corresponding section of the overview.
For appName, platform, versionStr and registerUserId you need to provide the appropriate values for the app version you want to register.
versionLock is a boolean (i.e. either true or false) that decides whether or not the version is locked.
isCheckIntegrity is a boolean (i.e. either true or false) that decides whether or not app integrity is enforced by comparing a hash over the app against the value that is stored on the server when the registerUser connects to the server for the first time. This, of course, increases security and is strongly recommended for productive apps, but it can be troublesome when some new OS version automatically tries to "optimize" the app in some creative way.
$token should be an authorization token of a user with the correct permissions / roles to add apps.

Here, -v option is to run the command in verbose mode. On successful creation of an App Version, it returns created version location URL with version-id in the response header as shown in the below screenshot, when you run the create new version cURL command with -v option.

The returned location URL containing the version-id is required for updating or deleting an existing App Version as shown in following cURL commands.

Update existing App Version

For updating a version you need to know the versionId of the version you want to update. You will get the versionId upon successfully creating a new app version with the verbose option as described in Create New App Version. Alternatively if you created the app version without verbose flag or forgot the versionId you can find the ID of your version by using the request to Get a list of App Versions. Note that for deleting the registration values for the app, so you get back to the state just after app registration but before logging in for the first time, you cannot use this update request. Instead you need the request decribed in Delete App Version Registration Value below.

curl -X PUT https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/versions/$versionId -H 'Content-Type: application/json' -H 'Content-Type: application/json' -d '{
"appName": "",
"platform": "",
"versionStr": "",
"registerUserId": "",
"versionLock": false,
"isCheckIntegrity": true
}' -H 'Authorization: Bearer $token'
Get a list of App Versions

Here is a request that gives you a list with all the versions of all the apps registered for a specific tenant.

curl https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/versions -H 'Content-Type: application/json' -H 'Authorization: Bearer $token'

You can add pagination parameters like page and pagesize to just get part of that list, e.g. to select entries 21 to 40 a request like the following can be used:

curl https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/versions?page=2&pageSize=20 -H 'Content-Type: application/json' -H 'Authorization: Bearer $token'
Get information for an existing App Version

Here is a request for just getting all the information the server has stored about a specific app version:

curl https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/versions/$versionId -H 'Content-Type: application/json' -H 'Authorization: Bearer $token'
Get all available platforms
curl https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/platforms -H 'Content-Type: application/json' -H 'Authorization: Bearer $token'
Get all available architectures for a platform

Some platforms (like e.g. Android) might support multiple hardware architectures. Got get a list of all the architectures that are supported by a specific platform, you can use the following request

curl https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/platforms/$platformName/architectures -H 'Content-Type: application/json' -H 'Authorization: Bearer $token'

$platformName should be the name of one of the platfomrs obtained from the previous request.

Delete App Version Registration Value
curl -X DELETE https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/versions/$versionId/register?architectureName=$architecture -H 'Content-Type: application/json' -H 'Authorization: Bearer $token'

$architecture should be the name of the architecture for which you want to delete the registration value. This should be one of the architectures obtained from the previous request.

Delete existing App Version
curl -X DELETE https://asts.your-environment.shift.company.com/v1/tenants/$yourTenantName/versions/$versionId -H 'Content-Type: application/json' -H 'Authorization: Bearer $token'