Skip to main content

Get an app installation

GET/v2/app-installations/{appInstallationId}
API version
v2
Request method
GET
Operation ID
app-get-appinstallation

Request​

  • appInstallationIdstringrequired

Responses​

Format
application/json
Description

The AppInstallation.

  • appExternalVersionstringrequired
  • appIdstring (uuid)required
  • appNamestringrequired
  • appVersionobjectrequired

    VersionStatus describes the current and desired version of something like the AppVersion of an AppInstallation. If diverging, an internal process is going to assert, the current value will be aligned.

    • currentstring
    • desiredstringrequired
    • lastChangeBystring
    • lastChangedAtstring (date-time)
    • previousstring
  • autoUpdatesActivatedboolean

    Whether automatic updates are activated.

  • createdAtstring (date-time)required
  • customDocumentRootstring
  • deletionRequestedboolean
  • descriptionstringrequired
  • disabledbooleanrequired
  • hostnamestring
  • idstring (uuid)required
  • installationPathstringrequired
  • lastAutoUpdateFailedAtstring (date-time)

    When the last automatic update failed. Automatic updates are deactivated after a failure. The value is kept when automatic updates are activated again, so it does not indicate the current state on its own; combine it with autoUpdatesActivated (e.g. only warn while that is false).

  • lastErrorstring

    The last error that occurred during an update. Resets on success.

  • linkedDatabasesarray of objectrequired
    • Array[

      LinkedDatabase is a reference to a concrete Database and DatabaseUsers.

      • *object

        LinkedDatabase is a reference to a concrete Database and DatabaseUsers.

        • databaseIdstring (uuid)required
        • databaseUserIdsobject
          • *string
        • kindstring (one of: mysql, redis)required
        • purposestring (one of: primary, cache, custom)required
      ]
  • lockedByobject
    • *string (one of: unspecified, copy)

      LockPurpose describes why a given AppInstallation is locked from deletion.

  • phasestring (one of: pending, installing, upgrading, ready, disabled, reconfiguring)required

    Phase describes the current phase/state of an AppInstallation in its lifecycle.

  • portsarray of object
    • Array[
      • *object
        • namestring
        • portinteger
      ]
  • projectDescriptionstringrequired
  • projectIdstring (uuid)required
  • screenshotIdstring (uuid)
  • screenshotRefstring
  • shortIdstringrequired
  • sourceAppInstallationIdstring

    The source AppInstallation ID for a staging AppInstallation.

  • stagingboolean
  • systemSoftwarearray of objectrequired
    • Array[

      InstalledSystemSoftware describes the currently configured and installed SystemSoftwareVersion of a SystemSoftware besides the desired SystemSoftwareUpdatePolicy inside an AppInstallation.

      • *object

        InstalledSystemSoftware describes the currently configured and installed SystemSoftwareVersion of a SystemSoftware besides the desired SystemSoftwareUpdatePolicy inside an AppInstallation.

        • externalVersionstringrequired
        • namestringrequired
        • systemSoftwareIdstring (uuid)required
        • systemSoftwareVersionobjectrequired

          VersionStatus describes the current and desired version of something like the AppVersion of an AppInstallation. If diverging, an internal process is going to assert, the current value will be aligned.

          • currentstring
          • desiredstringrequired
          • lastChangeBystring
          • lastChangedAtstring (date-time)
          • previousstring
        • updateAvailablebooleanrequired
        • updatePolicystring (one of: none, inheritedFromApp, patchLevel, all)required

          SystemSoftwareUpdatePolicy describes which updates should be applied automatically by our systems.

      ]
  • updateAvailablebooleanrequired
  • updatePolicystring (one of: none, patchLevel, all)required

    AppUpdatePolicy describes which updates should be applied automatically by our systems.

  • userInputsarray of objectrequired
    • Array[

      A SavedUserInput is an entered value for a desired UserInput of an AppVersion or SystemSoftwareVersion.

      • *object

        A SavedUserInput is an entered value for a desired UserInput of an AppVersion or SystemSoftwareVersion.

        • namestringrequired
        • valuestringrequired
      ]
Content-Type: application/json

{
"appExternalVersion": "string",
"appId": "f0f86186-0a5a-45b2-aa33-502777496347",
"appName": "string",
"appVersion": {
"current": "string",
"desired": "string",
"lastChangeBy": "string",
"lastChangedAt": "1985-10-26T01:21:00.000Z",
"previous": "string"
},
"autoUpdatesActivated": true,
"createdAt": "2024-09-20T22:57:32.000Z",
"customDocumentRoot": "string",
"deletionRequested": true,
"description": "string",
"disabled": true,
"hostname": "string",
"id": "f0f86186-0a5a-45b2-aa33-502777496347",
"installationPath": "string",
"lastAutoUpdateFailedAt": "1985-10-26T01:21:00.000Z",
"lastError": "string",
"linkedDatabases": [
{
"databaseId": "f0f86186-0a5a-45b2-aa33-502777496347",
"databaseUserIds": {
"string": "string"
},
"kind": "mysql",
"purpose": "primary"
}
],
"lockedBy": {
"string": "unspecified"
},
"phase": "ready",
"ports": [
{
"name": "string",
"port": 123
}
],
"projectDescription": "string",
"projectId": "f0f86186-0a5a-45b2-aa33-502777496347",
"screenshotId": "f0f86186-0a5a-45b2-aa33-502777496347",
"screenshotRef": "string",
"shortId": "a-XXXXXX",
"sourceAppInstallationId": "string",
"staging": true,
"systemSoftware": [
{
"externalVersion": "string",
"name": "string",
"systemSoftwareId": "f0f86186-0a5a-45b2-aa33-502777496347",
"systemSoftwareVersion": {
"current": "string",
"desired": "string",
"lastChangeBy": "string",
"lastChangedAt": "1985-10-26T01:21:00.000Z",
"previous": "string"
},
"updateAvailable": true,
"updatePolicy": "none"
}
],
"updateAvailable": true,
"updatePolicy": "none",
"userInputs": [
{
"name": "string",
"value": "string"
}
]
}
{
"description": "An AppInstallation is a concrete manifestation of an App in a specific AppVersion.",
"properties": {
"appExternalVersion": {
"type": "string"
},
"appId": {
"format": "uuid",
"type": "string"
},
"appName": {
"type": "string"
},
"appVersion": {
"description": "VersionStatus describes the current and desired version of something like the AppVersion of an AppInstallation. If diverging, an internal process is going to assert, the current value will be aligned.",
"properties": {
"current": {
"type": "string"
},
"desired": {
"type": "string"
},
"lastChangeBy": {
"type": "string"
},
"lastChangedAt": {
"format": "date-time",
"type": "string"
},
"previous": {
"type": "string"
}
},
"required": [
"desired"
],
"type": "object"
},
"autoUpdatesActivated": {
"description": "Whether automatic updates are activated.",
"type": "boolean"
},
"createdAt": {
"example": "2024-09-20T22:57:32.000Z",
"format": "date-time",
"type": "string"
},
"customDocumentRoot": {
"type": "string"
},
"deletionRequested": {
"default": false,
"type": "boolean"
},
"description": {
"type": "string"
},
"disabled": {
"default": false,
"type": "boolean"
},
"hostname": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"installationPath": {
"type": "string"
},
"lastAutoUpdateFailedAt": {
"description": "When the last automatic update failed. Automatic updates are deactivated after a failure. The value is kept when automatic updates are activated again, so it does not indicate the current state on its own; combine it with `autoUpdatesActivated` (e.g. only warn while that is false).",
"format": "date-time",
"type": "string"
},
"lastError": {
"description": "The last error that occurred during an update. Resets on success.",
"type": "string"
},
"linkedDatabases": {
"items": {
"description": "LinkedDatabase is a reference to a concrete Database and DatabaseUsers.",
"properties": {
"databaseId": {
"format": "uuid",
"type": "string"
},
"databaseUserIds": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"kind": {
"enum": [
"mysql",
"redis"
],
"type": "string"
},
"purpose": {
"enum": [
"primary",
"cache",
"custom"
],
"type": "string"
}
},
"required": [
"databaseId",
"purpose",
"kind"
],
"type": "object"
},
"type": "array"
},
"lockedBy": {
"additionalProperties": {
"description": "LockPurpose describes why a given AppInstallation is locked from deletion.",
"enum": [
"unspecified",
"copy"
],
"type": "string"
},
"type": "object"
},
"phase": {
"description": "Phase describes the current phase/state of an AppInstallation in its lifecycle.",
"enum": [
"pending",
"installing",
"upgrading",
"ready",
"disabled",
"reconfiguring"
],
"example": "ready",
"type": "string"
},
"ports": {
"items": {
"properties": {
"name": {
"type": "string"
},
"port": {
"type": "integer"
}
},
"type": "object"
},
"type": "array"
},
"projectDescription": {
"type": "string"
},
"projectId": {
"format": "uuid",
"type": "string"
},
"screenshotId": {
"format": "uuid",
"type": "string"
},
"screenshotRef": {
"type": "string"
},
"shortId": {
"example": "a-XXXXXX",
"type": "string"
},
"sourceAppInstallationId": {
"description": "The source AppInstallation ID for a staging AppInstallation.",
"type": "string"
},
"staging": {
"type": "boolean"
},
"systemSoftware": {
"items": {
"description": "InstalledSystemSoftware describes the currently configured and installed SystemSoftwareVersion of a SystemSoftware besides the desired SystemSoftwareUpdatePolicy inside an AppInstallation.",
"properties": {
"externalVersion": {
"type": "string"
},
"name": {
"type": "string"
},
"systemSoftwareId": {
"format": "uuid",
"type": "string"
},
"systemSoftwareVersion": {
"description": "VersionStatus describes the current and desired version of something like the AppVersion of an AppInstallation. If diverging, an internal process is going to assert, the current value will be aligned.",
"properties": {
"current": {
"type": "string"
},
"desired": {
"type": "string"
},
"lastChangeBy": {
"type": "string"
},
"lastChangedAt": {
"format": "date-time",
"type": "string"
},
"previous": {
"type": "string"
}
},
"required": [
"desired"
],
"type": "object"
},
"updateAvailable": {
"default": false,
"type": "boolean"
},
"updatePolicy": {
"description": "SystemSoftwareUpdatePolicy describes which updates should be applied automatically by our systems.",
"enum": [
"none",
"inheritedFromApp",
"patchLevel",
"all"
],
"type": "string"
}
},
"required": [
"systemSoftwareId",
"updatePolicy",
"systemSoftwareVersion",
"name",
"externalVersion",
"updateAvailable"
],
"type": "object"
},
"type": "array"
},
"updateAvailable": {
"default": false,
"type": "boolean"
},
"updatePolicy": {
"description": "AppUpdatePolicy describes which updates should be applied automatically by our systems.",
"enum": [
"none",
"patchLevel",
"all"
],
"type": "string"
},
"userInputs": {
"items": {
"description": "A SavedUserInput is an entered value for a desired UserInput of an AppVersion or SystemSoftwareVersion.",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"name",
"value"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"appId",
"shortId",
"appVersion",
"description",
"installationPath",
"disabled",
"createdAt",
"projectId",
"systemSoftware",
"userInputs",
"updatePolicy",
"linkedDatabases",
"phase",
"appName",
"updateAvailable",
"appExternalVersion",
"projectDescription"
],
"type": "object"
}

Usage examples​

$ curl \
--fail \
--location \
-H "Authorization: Bearer $MITTWALD_API_TOKEN" \
https://api.mittwald.de/v2/app-installations/string
import { MittwaldAPIV2Client } from "@mittwald/api-client";
import { assertStatus } from "@mittwald/api-client-commons";

const client = MittwaldAPIClient.newWithToken(process.env.MITTWALD_API_TOKEN);
const response = await client.app.getAppinstallation({
"appInstallationId": "string"
});

assertStatus(response, 200);

use \Mittwald\ApiClient\Generated\V2\Clients\App\GetAppinstallation\GetAppinstallationRequest;

$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));

$request = (new GetAppinstallationRequest(
appInstallationId: "string"
));
$response = $client->app()->getAppinstallation($request);

var_dump($response->getBody();

On this page