List app versions belonging to an app
GET/apps/ {appId}/ versions/
Request
- appIdstring (uuid)required
Responses
Response headers
- X-Pagination-Limitnumber
- X-Pagination-Skipnumber
- X-Pagination-TotalCountnumber
Object containing the list of AppVersions.
- Schema documentation
- Example
- JSON Schema
- Array[
- *object
An AppVersion is an officially supported version of an App, containing the necessary and recommended configuration und dependencies.
- appIdstring (uuid)required
- breakingNoteobject
A BreakingNote is a hint that something serious has changed in the AppVersion containing it, so an automatic update is not possible.
- faqLinkstring (uri)required
- databasesarray of object
- Array[
- *object
A DatabaseDependency is a generic description of need for a database, used by AppVersions.
- descriptionstringrequired
- kind"mysql"required
- parametersobject
- *string
- versionstring (uuid)required
]
- docRootstringrequired
- docRootUserEditablebooleanrequired
- externalVersionstringrequired
- idstring (uuid)required
- internalVersionstringrequired
- recommendedboolean
- requestHandlerobject
RequestHandlerRequirement describes the necessary properties to internally resolve the request handler or process to start.
- exampleValuesarray of object
- Array[
- *object
A SavedUserInput is an entered value for a desired UserInput of an AppVersion or SystemSoftwareVersion.
- namestringrequired
- valuestringrequired
]
- namestringrequired
- namespacestringrequired
- parametersTemplatestringrequired
- Array[
- *object
A SystemSoftwareDependency is a description of a need for a specific SystemSoftware in a semver versionRange.
- systemSoftwareIdstring (uuid)required
- versionRangestringrequired
- Array[
- *object
A UserInput is a description of an information which cannot be determined or estimated by mittwald, but has to be given by the person who is requesting an AppInstallation or SystemSoftware.
- dataSourcestring
Optional field to tell the frontend, which data to put into the select.
- dataTypestring (one of: text, number, boolean, select)required
UserInputDataType is an enum, describing the possible data types of a UserInput.
- defaultValuestring
- formatstring (one of: email, password, url, uri)
UserInputFormat is an enum, describing the possible data formats of a UserInput, the given values can be validated against.
- lifecycleConstraintstring (one of: installation, update, reconfigure)required
The AppInstallationLifecycle can be used to express a specific point in the AppInstallation Lifecycle, e.g. while installing a new AppInstallation.
- namestringrequired
- positionMetaobject
UserInputPositionMeta is a utility information, helping to position the UserInput properly on the frontend.
- indexnumber
- sectionstring
- stepstring
- requiredbooleanrequired
- validationSchemastringrequired
JSON Schema formatted (https://json-schema.org/).
[
{
"appId": "f0f86186-0a5a-45b2-aa33-502777496347",
"breakingNote": {
"faqLink": "string"
},
"databases": [
{
"description": "string",
"kind": "mysql",
"parameters": {
"string": "string"
},
"version": "f0f86186-0a5a-45b2-aa33-502777496347"
}
],
"docRoot": "string",
"docRootUserEditable": true,
"externalVersion": "string",
"id": "f0f86186-0a5a-45b2-aa33-502777496347",
"internalVersion": "string",
"recommended": true,
"requestHandler": {
"exampleValues": [
{
"name": "string",
"value": "string"
}
],
"name": "string",
"namespace": "string",
"parametersTemplate": "string"
},
"systemSoftwareDependencies": [
{
"systemSoftwareId": "f0f86186-0a5a-45b2-aa33-502777496347",
"versionRange": "string"
}
],
"userInputs": [
{
"dataSource": "string",
"dataType": "text",
"defaultValue": "string",
"format": "email",
"lifecycleConstraint": "installation",
"name": "string",
"positionMeta": {
"index": 123,
"section": "string",
"step": "string"
},
"required": true,
"validationSchema": "string"
}
]
}
]
{
"items": {
"description": "An AppVersion is an officially supported version of an App, containing the necessary and recommended configuration und dependencies.",
"properties": {
"appId": {
"format": "uuid",
"type": "string"
},
"breakingNote": {
"description": "A BreakingNote is a hint that something serious has changed in the AppVersion containing it, so an automatic update is not possible.",
"properties": {
"faqLink": {
"format": "uri",
"type": "string"
}
},
"required": [
"faqLink"
],
"type": "object"
},
"databases": {
"items": {
"description": "A DatabaseDependency is a generic description of need for a database, used by AppVersions.",
"properties": {
"description": {
"type": "string"
},
"kind": {
"enum": [
"mysql"
],
"type": "string"
},
"parameters": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"version": {
"format": "uuid",
"type": "string"
}
},
"required": [
"version",
"description",
"kind"
],
"type": "object"
},
"type": "array"
},
"docRoot": {
"type": "string"
},
"docRootUserEditable": {
"type": "boolean"
},
"externalVersion": {
"type": "string"
},
"id": {
"format": "uuid",
"type": "string"
},
"internalVersion": {
"type": "string"
},
"recommended": {
"type": "boolean"
},
"requestHandler": {
"description": "RequestHandlerRequirement describes the necessary properties to internally resolve the request handler or process to start.",
"properties": {
"exampleValues": {
"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"
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"parametersTemplate": {
"type": "string"
}
},
"required": [
"name",
"namespace",
"parametersTemplate"
],
"type": "object"
},
"systemSoftwareDependencies": {
"items": {
"description": "A SystemSoftwareDependency is a description of a need for a specific SystemSoftware in a semver versionRange.",
"properties": {
"systemSoftwareId": {
"format": "uuid",
"type": "string"
},
"versionRange": {
"type": "string"
}
},
"required": [
"systemSoftwareId",
"versionRange"
],
"type": "object"
},
"type": "array",
"uniqueItems": true
},
"userInputs": {
"items": {
"description": "A UserInput is a description of an information which cannot be determined or estimated by mittwald, but has to be given by the person who is requesting an AppInstallation or SystemSoftware.",
"properties": {
"dataSource": {
"description": "Optional field to tell the frontend, which data to put into the select.",
"type": "string"
},
"dataType": {
"description": "UserInputDataType is an enum, describing the possible data types of a UserInput.",
"enum": [
"text",
"number",
"boolean",
"select"
],
"type": "string"
},
"defaultValue": {
"type": "string"
},
"format": {
"description": "UserInputFormat is an enum, describing the possible data formats of a UserInput, the given values can be validated against.",
"enum": [
"email",
"password",
"url",
"uri"
],
"type": "string"
},
"lifecycleConstraint": {
"description": "The AppInstallationLifecycle can be used to express a specific point in the AppInstallation Lifecycle, e.g. while installing a new AppInstallation.",
"enum": [
"installation",
"update",
"reconfigure"
],
"type": "string"
},
"name": {
"type": "string"
},
"positionMeta": {
"description": "UserInputPositionMeta is a utility information, helping to position the UserInput properly on the frontend.",
"properties": {
"index": {
"type": "number"
},
"section": {
"type": "string"
},
"step": {
"type": "string"
}
},
"type": "object"
},
"required": {
"type": "boolean"
},
"validationSchema": {
"description": "JSON Schema formatted (https://json-schema.org/).",
"type": "string"
}
},
"required": [
"name",
"dataType",
"validationSchema",
"lifecycleConstraint",
"required"
],
"type": "object"
},
"type": "array",
"uniqueItems": true
}
},
"required": [
"id",
"appId",
"externalVersion",
"internalVersion",
"docRoot",
"docRootUserEditable"
],
"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/apps/f0f86186-0a5a-45b2-aa33-502777496347/versions?recommended=true
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.listAppversions({
"appId": "f0f86186-0a5a-45b2-aa33-502777496347",
"queryParameters": {
"recommended": true
}
});
assertStatus(response, 200);
use \Mittwald\ApiClient\Generated\V2\Clients\App\ListAppversions\ListAppversionsRequest;
$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));
$request = (new ListAppversionsRequest(
appId: "f0f86186-0a5a-45b2-aa33-502777496347"
))
->withRecommended(true);
$response = $client->app()->listAppversions($request);
var_dump($response->getBody();