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"
}
Last updated on May 29, 2024 (11:47) Edit on Github Send Feedback
Search

1.8.x

Mobile Utility Server