List app installations belonging to a Project
GET/projects/ {projectId}/ app-installations/
Request
- projectIdstring (uuid)required
Responses
Response headers
- X-Pagination-Limitnumber
The limit used to select the resources for the response
- X-Pagination-Skipnumber
The number of skipped items
- X-Pagination-Pagenumber
The calculate page of the list response. Refer to parameters to learn more.
- X-Pagination-TotalCountnumber
The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.
Object containing the list of AppInstallations.
- Schema documentation
- Example
- JSON Schema
- Array[
- *object
An AppInstallation is a concrete manifestation of an App in a specific AppVersion.
- appIdstring (uuid)required
- 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
- customDocumentRootstring
- descriptionstringrequired
- disabledbooleanrequired
- idstring (uuid)required
- installationPathstringrequired
- linkedDatabasesarray of object
- Array[
- *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
]
- processesarray of string (uuid)
- Array[
- *string (uuid)
]
- Array[
- *object
InstalledSystemSoftware describes the currently configured and installed SystemSoftwareVersion of a SystemSoftware besides the desired SystemSoftwareUpdatePolicy inside an AppInstallation.
- 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
- updatePolicystring (one of: none, inheritedFromApp, patchLevel, all)required
SystemSoftwareUpdatePolicy describes which updates should be applied automatically by our systems.
AppUpdatePolicy describes which updates should be applied automatically by our systems.
- Array[
- *object
A SavedUserInput is an entered value for a desired UserInput of an AppVersion or SystemSoftwareVersion.
- namestringrequired
- valuestringrequired
[
{
"appId": "f0f86186-0a5a-45b2-aa33-502777496347",
"appVersion": {
"current": "string",
"desired": "string"
},
"customDocumentRoot": "string",
"description": "string",
"disabled": true,
"id": "f0f86186-0a5a-45b2-aa33-502777496347",
"installationPath": "string",
"linkedDatabases": [
{
"databaseId": "f0f86186-0a5a-45b2-aa33-502777496347",
"databaseUserIds": {
"string": "string"
},
"kind": "mysql",
"purpose": "primary"
}
],
"processes": [
"f0f86186-0a5a-45b2-aa33-502777496347"
],
"projectId": "f0f86186-0a5a-45b2-aa33-502777496347",
"screenshotId": "f0f86186-0a5a-45b2-aa33-502777496347",
"screenshotRef": "string",
"shortId": "a-XXXXXX",
"systemSoftware": [
{
"systemSoftwareId": "f0f86186-0a5a-45b2-aa33-502777496347",
"systemSoftwareVersion": {
"current": "string",
"desired": "string"
},
"updatePolicy": "none"
}
],
"updatePolicy": "none",
"userInputs": [
{
"name": "string",
"value": "string"
}
]
}
]
{
"items": {
"description": "An AppInstallation is a concrete manifestation of an App in a specific AppVersion.",
"properties": {
"appId": {
"format": "uuid",
"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"
}
},
"required": [
"desired"
],
"type": "object"
},
"customDocumentRoot": {
"type": "string"
},
"description": {
"type": "string"
},
"disabled": {
"default": false,
"type": "boolean"
},
"id": {
"format": "uuid",
"type": "string"
},
"installationPath": {
"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"
},
"processes": {
"items": {
"format": "uuid",
"type": "string"
},
"type": "array"
},
"projectId": {
"format": "uuid",
"type": "string"
},
"screenshotId": {
"format": "uuid",
"type": "string"
},
"screenshotRef": {
"type": "string"
},
"shortId": {
"example": "a-XXXXXX",
"type": "string"
},
"systemSoftware": {
"items": {
"description": "InstalledSystemSoftware describes the currently configured and installed SystemSoftwareVersion of a SystemSoftware besides the desired SystemSoftwareUpdatePolicy inside an AppInstallation.",
"properties": {
"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"
}
},
"required": [
"desired"
],
"type": "object"
},
"updatePolicy": {
"description": "SystemSoftwareUpdatePolicy describes which updates should be applied automatically by our systems.",
"enum": [
"none",
"inheritedFromApp",
"patchLevel",
"all"
],
"type": "string"
}
},
"required": [
"systemSoftwareId",
"updatePolicy",
"systemSoftwareVersion"
],
"type": "object"
},
"type": "array"
},
"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"
],
"type": "object"
},
"type": "array"
}
Usage examples
- cURL
- JavaScript SDK
- PHP SDK
$ curl \
--fail \
--location \
-H "Authorization: Bearer $MITTWALD_API_TOKEN" \
https://api.mittwald.de/v2/projects/f0f86186-0a5a-45b2-aa33-502777496347/app-installations?limit=50&page=1
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.listAppinstallations({
"projectId": "f0f86186-0a5a-45b2-aa33-502777496347",
"queryParameters": {
"limit": 50,
"page": 1
}
});
assertStatus(response, 200);
use \Mittwald\ApiClient\Generated\V2\Clients\App\ListAppinstallations\ListAppinstallationsRequest;
$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));
$request = (new ListAppinstallationsRequest(
projectId: "f0f86186-0a5a-45b2-aa33-502777496347"
))
->withLimit(50)
->withPage(1);
$response = $client->app()->listAppinstallations($request);
var_dump($response->getBody();