Administration Services
The Administration Services of Mobile Utility Server provide functionality for managing applications, certificates, versions, and text resources.
Possible Error Codes
HTTP Status Code | Error Code | Description |
---|---|---|
400 |
APP_EXCEPTION |
Indicates an error occurring during app operations like creating an already existing app. |
400 |
ERROR_REQUEST |
Request did not pass a structural validation (mandatory field is null, invalid field type, etc.). |
400 |
UNKNOWN_ERROR |
An error occurred when processing the request. Problems with request binding |
401 |
ERROR_AUTHENTICATION |
Unauthorized access attempt. This occurs when invalid credentials are provided. |
404 |
APP_NOT_FOUND |
Indicates that the app with the provided ID was not found. |
500 |
INTERNAL_ERROR |
An internal server error occurred, potentially due to misconfiguration. |
Services
post /admin/apps Create Application
Create a new application with specified name.
Request
Request Body
{
"name": "mobile-app",
"displayName": "Mobile App"
}
Attribute | Type | Description |
---|---|---|
name * |
String |
Name of the application. |
displayName * |
String |
Display name of the application. |
Response
{
"name": "Application Name",
"displayName": "Display name of the Application",
"publicKey": "pk1",
"domains": [
{
"name": "name1",
"certificates": [
{
"pem": "pem1",
"fingerprint": "fingerprint1",
"expires": 100
}
]
}
]
}
Attribute | Type | Description |
---|---|---|
name |
String |
Name of the application. |
displayName |
String |
Display name of the application. |
publicKey |
String |
Public key of the application. |
domains |
Object[] |
List of domain configurations for the application. |
domains[].name |
String |
Name of the domain. |
domains[].certificates |
Object[] |
List of certificates for the domain. |
domains[].certificates[].pem |
String |
PEM-encoded certificate. |
domains[].certificates[].fingerprint |
String |
Fingerprint of the certificate. |
domains[].certificates[].expires |
Long |
Expiration time of the certificate in epoch seconds. |
Application creation failed due to invalid input or missing required fields.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_REQUEST",
"message": "Required fields are missing"
}
}
Application creation failed due to already used app name or error while generating cryptographic keys.
{
"status": "ERROR",
"responseObject": {
"code": "APP_EXCEPTION",
"message": "Application with name already exists: XY / Error while generating cryptographic keys"
}
}
Possible Error states are:
ERROR_REQUEST
- Request did not pass a structural validation (mandatory field is null, invalid field type, etc.).APP_EXCEPTION
- Application with name already exists: XY or Error while generating cryptographic keys.
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
get /admin/apps List Applications
Retrieve a list of all registered applications.
Response
{
"applications": [
{
"name": "mobile-app-1",
"displayName": "Mobile App 1"
},
{
"name": "mobile-app-2",
"displayName": "Mobile App 2"
}
]
}
Attribute | Type | Description |
---|---|---|
applications |
Object[] |
List of registered applications. |
applications[].name |
String |
Name of the application. |
applications[].displayName |
String |
Display name of the application. |
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
get /admin/apps/{name} Application Detail
Retrieve detailed information about a specific application by its name. This endpoint provides complete details including configuration settings.
Request
Path Params
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application to retrieve details for. |
Response
{
"name": "Application Name",
"displayName": "Display name of the Application",
"publicKey": "pk1",
"domains": [
{
"name": "name1",
"certificates": [
{
"pem": "pem1",
"fingerprint": "fingerprint1",
"expires": 100
}
]
}
]
}
Attribute | Type | Description |
---|---|---|
name |
String |
Name of the application. |
displayName |
String |
Display name of the application. |
publicKey |
String |
Public key of the application. |
domains |
Object[] |
List of domain configurations for the application. |
domains[].name |
String |
Name of the domain. |
domains[].certificates |
Object[] |
List of certificates for the domain. |
domains[].certificates[].pem |
String |
PEM-encoded certificate. |
domains[].certificates[].fingerprint |
String |
Fingerprint of the certificate. |
domains[].certificates[].expires |
Long |
Expiration time of the certificate in epoch seconds. |
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
post /admin/apps/{name}/certificates/auto Create Automatic Application Certificate
Automatically generate and associate a certificate with a specified application. This endpoint handles the creation and registration of a new certificate using server-defined parameters.
Request
Path Params
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application for which the certificate will be created. |
Request Body
{
"domain": "domain1"
}
Attribute | Type | Description |
---|---|---|
domain * |
String |
The domain from which to fetch the certificate. |
Response
{
"name": "Domain Name",
"pem": "pem1",
"fingerprint": "fingerprint1",
"expires": 100
}
Attribute | Type | Description |
---|---|---|
name * |
String |
Name of the domain. |
pem * |
String |
PEM format of the certificate. |
fingerprint * |
String |
Fingerprint of the certificate.. |
expires * |
Long |
Timestamp when the certificate will expire. |
Certificate creation failed due to invalid input or missing required fields.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_REQUEST",
"message": "Required fields are missing"
}
}
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
Failed to create the certificate because the requested app was not found.
{
"status": "ERROR",
"responseObject": {
"code": "APP_NOT_FOUND",
"message": "App with a provided ID was not found."
}
}
Error occurred during app execution.
{
"timestamp": "TIMESTAMP",
"status": 500,
"error": "Internal Server Error",
"path": "/admin/apps/mobile-app22/certificates/auto"
}
post /admin/apps/{name}/certificates/pem Create PEM Application Certificate
Manually add a PEM format certificate to a specified application. This endpoint accepts a PEM-encoded certificate and associates it with the application.
Request
Path Params
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application to which the certificate will be attached. |
Request Body
{
"pem": "pem1"
}
Attribute | Type | Description |
---|---|---|
pem * |
String |
PEM encoded certificate string. |
Response
{
"name": "Domain Name",
"pem": "pem1",
"fingerprint": "fingerprint1",
"expires": 100
}
Attribute | Type | Description |
---|---|---|
name * |
String |
Name of the domain. |
pem * |
String |
PEM format of the certificate. |
fingerprint * |
String |
Fingerprint of the certificate.. |
expires * |
Long |
Timestamp when the certificate will expire. |
Certificate creation failed due to invalid input or missing required fields.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_REQUEST",
"message": "Required fields are missing"
}
}
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
Failed to create the certificate because the requested app was not found.
{
"status": "ERROR",
"responseObject": {
"code": "APP_NOT_FOUND",
"message": "App with a provided ID was not found."
}
}
Error occurred during app execution.
{
"timestamp": "TIMESTAMP",
"status": 500,
"error": "Internal Server Error",
"path": "/admin/apps/mobile-app22/certificates/auto"
}
delete /admin/apps/{name}/certificates Delete Certificate
Delete a certificate associated with a specific application based on domain and fingerprint criteria.
Request
Path Params
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application from which certificates will be deleted. |
Query Parameters
Parameter | Type | Description |
---|---|---|
domain * |
String |
Domain associated with the certificate. |
fingerprint * |
String |
Fingerprint of the certificate to specifically target for deletion. |
Response
{
"status": "OK"
}
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
delete /admin/apps/{name}/domains Delete Domain
Delete a domain associated with a specific application.
Request
Path Params
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application from which the domain will be deleted. |
Query Parameters
Parameter | Type | Description |
---|---|---|
domain * |
String |
Domain to be deleted from the application. |
Response
Indicates that the domain was successfully deleted.
{
"status": "OK"
}
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
delete /admin/certificates/expired Delete Expired Certificates
Remove all expired certificates from the system. This endpoint provides a cleanup mechanism for old or no longer valid certificates.
Response
Indicates that all expired certificates were successfully removed.
{
"status": "OK"
}
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
get /admin/apps/{name}/versions List Application Versions
Retrieve a list of all versions for a specific application. This endpoint provides details about each version, including version number and status.
Request
Path Parameters
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application for which versions are being listed. |
Response
{
"applicationVersions": [
{
"id": 1,
"platform": "ANDROID",
"majorOsVersion": 12,
"suggestedVersion": "3.1.2",
"requiredVersion": "3.1.2",
"messageKey": "update_required"
}
]
}
Attribute | Type | Description |
---|---|---|
applicationVersions |
Object[] |
List of app versions. |
applicationVersions[].id * |
Long |
Unique identifier of the application version. |
applicationVersions[].platform * |
Enum |
Platform of the application (e.g., ANDROID, IOS). |
applicationVersions[].majorOsVersion |
Integer |
Major OS version for the application, may be null to match all. |
applicationVersions[].suggestedVersion |
String |
Suggested version of the application in SemVer 2.0 format. |
applicationVersions[].requiredVersion |
String |
Required version of the application in SemVer 2.0 format. |
applicationVersions[].messageKey * |
String |
Key for the message related to the version (e.g., for localization purposes). |
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
get /admin/apps/{name}/versions/{id} Application Version Detail
Retrieve detailed information about a specific version of an application.
Request
Path Parameters
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application. |
id * |
Long |
Identifier of the version to retrieve details for. |
Response
{
"id": 1,
"platform": "ANDROID",
"majorOsVersion": 12,
"suggestedVersion": "3.1.2",
"requiredVersion": "3.1.2",
"messageKey": "update_required"
}
Attribute | Type | Description |
---|---|---|
id * |
Long |
Unique identifier of the application version. |
platform * |
Enum |
Platform of the application (e.g., ANDROID, IOS). |
majorOsVersion |
Integer |
Major OS version for the application, may be null to match all. |
suggestedVersion |
String |
Suggested version of the application in SemVer 2.0 format. |
requiredVersion |
String |
Required version of the application in SemVer 2.0 format. |
messageKey * |
String |
Key for the message related to the version (e.g., for localization purposes). |
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
post /admin/apps/{name}/versions Create Application Version
Add a new version to a specific application.
Request
Path Parameters
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application to add the version to. |
Request Body
{
"platform": "ANDROID",
"majorOsVersion": 12,
"suggestedVersion": "3.1.2",
"requiredVersion": "3.1.2",
"messageKey": "update_required"
}
Attribute | Type | Description |
---|---|---|
platform * |
Enum |
Platform of the application (e.g., ANDROID, IOS). |
majorOsVersion |
Integer |
Major OS version for the application, may be null to match all. |
suggestedVersion * |
String |
Suggested version of the application in SemVer 2.0 format. |
requiredVersion * |
String |
Required version of the application in SemVer 2.0 format. |
messageKey |
String |
Key for the message related to the version (e.g., for localization purposes). |
Response
{
"id": 1,
"platform": "ANDROID",
"majorOsVersion": 12,
"suggestedVersion": "3.1.2",
"requiredVersion": "3.1.2",
"messageKey": "update_required"
}
Attribute | Type | Description |
---|---|---|
id * |
Long |
Unique identifier of the application version. |
platform * |
Enum |
Platform of the application (e.g., ANDROID, IOS). |
majorOsVersion |
Integer |
Major OS version for the application, may be null to match all. |
suggestedVersion |
String |
Suggested version of the application in SemVer 2.0 format. |
requiredVersion |
String |
Required version of the application in SemVer 2.0 format. |
messageKey * |
String |
Key for the message related to the version (e.g., for localization purposes). |
Certificate creation failed due to invalid input or missing required fields.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_REQUEST",
"message": "Required fields are missing"
}
}
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
delete /admin/apps/{name}/versions/{id} Delete Application Version
Remove a specific version from an application. This action is irreversible and should be used with caution to ensure that no critical information is lost.
Request
Path Parameters
Param | Type | Description |
---|---|---|
name * |
String |
Name of the application. |
id * |
String |
Identifier of the version to delete. |
Response
Indicates that the version was successfully deleted.
{
"status": "OK"
}
get /admin/texts List Texts
Retrieve a list of all text entries managed within the system.
Response
{
"texts": [
{
"messageKey": "welcome_message",
"language": "en",
"text": "Welcome to our application!"
},
{
"messageKey": "farewell_message",
"language": "es",
"text": "Gracias por visitar nuestra aplicaciĆ³n."
}
]
}
Attribute | Type | Description |
---|---|---|
texts * |
Object[] |
List of texts. |
texts[].messageKey * |
String |
Unique key identifier for the text. |
texts[].language * |
String |
ISO 639-1 two-letter language code. |
texts[].text * |
String |
The content of the text. |
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
get /admin/texts/{key}/{language} Text Detail
Retrieve detailed information about a specific text identified by its key and language. This endpoint provides the content and the last update timestamp.
Request
Path Parameters
Param | Type | Description |
---|---|---|
key * |
String |
The key identifier for the text. |
language * |
String |
The language code for the text. |
Response
{
"messageKey": "welcome_message",
"language": "en",
"text": "Welcome to our application!"
}
Attribute | Type | Description |
---|---|---|
messageKey * |
String |
Unique key identifier for the text. |
language * |
String |
ISO 639-1 two-letter language code. |
text * |
String |
The content of the text. |
Invalid username or password was provided while calling the service.
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_AUTHENTICATION",
"message": "Unauthorized"
}
}
post /admin/texts Create Text
Add a new text entry to the system.
Request
Request Body
{
"messageKey": "new_message",
"language": "fr",
"text": "Bienvenue dans notre application!"
}
Attribute | Type | Description |
---|---|---|
messageKey * |
String |
Unique key identifier for the text. |
language * |
String |
ISO 639-1 two-letter language code. |
text * |
String |
The content of the text. |
Response
{
"messageKey": "new_message",
"language": "fr",
"text": "Bienvenue dans notre application!"
}
Attribute | Type | Description |
---|---|---|
messageKey * |
String |
Unique key identifier for the text. |
language * |
String |
ISO 639-1 two-letter language code. |
text * |
String |
The content of the text. |
{
"status": "ERROR",
"responseObject": {
"code": "ERROR_REQUEST",
"message": "Required fields are missing"
}
}
delete /admin/texts/{key}/{language} Delete Text
Remove a specific text entry from the system identified by its key and language.
Request
Path Parameters
Param | Type | Description |
---|---|---|
key * |
String |
The key identifier for the text. |
language * |
String |
The language code for the text. |
Response
{
"status": "OK"
}