- API Reference
- Container
- List Container Templates
List Container Templates
Request
- categorystring
Category to filter templates by.
- searchTermstring
Pattern to filter templates by name or description.
- typestring (one of: component, standalone)
Type to filter templates by.
- sortOrderstring (one of: trend30days, trendAll)
Sort templates by trend.
- limitinteger (≥ 0)
The max count of resources to return in the list response.
- skipinteger
Number of items to skip. Should be multiple of
limit. - pageinteger (≥ 0)
Page to display.
skipandpageend up doing the same. If bothpageandskipare set, skip is used.
Responses
- X-Pagination-Limitinteger
The limit used to select the resources for the response
- X-Pagination-Skipinteger
The number of skipped items
- X-Pagination-Pagenumber
The calculate page of the list response. Refer to parameters to learn more.
- X-Pagination-TotalCountinteger
The total amount of items available in the remote ressource. Use this value in combination with the limit to calculate the available pages.
OK
- Array[
- *object
- categoriesarray of stringrequired
- Array[
- *string
]
- descriptionobjectrequired
- destringrequired
- enstringrequired
- developerstringrequired
- domainsarray of object
- Array[
- *object
- portstringrequired
- purposestring
- servicestringrequired
- userInputstringrequired
]
- helpobject
- alertsarray of object
- Array[
- *object
- contentobjectrequired
- destringrequired
- enstringrequired
- headingobjectrequired
- destringrequired
- enstringrequired
- linkobject
- destringrequired
- enstringrequired
- linkTextobject
- destringrequired
- enstringrequired
- statusstringrequired
]
- technicalDetailsarray of object
- Array[
- *object
- keyobjectrequired
- destringrequired
- enstringrequired
- valuestringrequired
]
- iconUrlstringrequired
- idstringrequired
- licenseobject
- linkstring
- namestringrequired
- manifestVersionstringrequired
Version of the manifest for this template, e.g. '1.0'
- nameobjectrequired
- destringrequired
- enstringrequired
- repositorystring
- screenshotsarray of object
- Array[
- *object
- bgstringrequired
- screenshotstringrequired
- textobjectrequired
- destringrequired
- enstringrequired
]
- supportLinkstring
- taglineobjectrequired
- destringrequired
- enstringrequired
- typestring (one of: component, standalone)required
- userInputsarray of object
- Array[
- *object
- dataSourcestring
- defaultValuestring
- labelobject
- destringrequired
- enstringrequired
- namestringrequired
- positionMetaobject
- indexinteger
- sectionstring
- stepstring
- requiredbooleanrequired
- validationSchemastring
]
- versionstringrequired
Version of the application described by this template, e.g. 'latest'
- websitestring
]
Content-Type: application/json
[
{
"categories": [
"string"
],
"description": {
"de": "string",
"en": "string"
},
"developer": "string",
"domains": [
{
"port": "string",
"purpose": "string",
"service": "string",
"userInput": "string"
}
],
"help": {
"alerts": [
{
"content": {
"de": "string",
"en": "string"
},
"heading": {
"de": "string",
"en": "string"
},
"link": {
"de": "string",
"en": "string"
},
"linkText": {
"de": "string",
"en": "string"
},
"status": "string"
}
],
"technicalDetails": [
{
"key": {
"de": "string",
"en": "string"
},
"value": "string"
}
]
},
"iconUrl": "string",
"id": "string",
"license": {
"link": "string",
"name": "string"
},
"manifestVersion": "string",
"name": {
"de": "string",
"en": "string"
},
"repository": "string",
"screenshots": [
{
"bg": "string",
"screenshot": "string",
"text": {
"de": "string",
"en": "string"
}
}
],
"supportLink": "string",
"tagline": {
"de": "string",
"en": "string"
},
"type": "component",
"userInputs": [
{
"dataSource": "string",
"defaultValue": "string",
"label": {
"de": "string",
"en": "string"
},
"name": "string",
"positionMeta": {
"index": 123,
"section": "string",
"step": "string"
},
"required": true,
"validationSchema": "string"
}
],
"version": "string",
"website": "string"
}
]
{
"items": {
"properties": {
"categories": {
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"developer": {
"type": "string"
},
"domains": {
"items": {
"properties": {
"port": {
"type": "string"
},
"purpose": {
"type": "string"
},
"service": {
"type": "string"
},
"userInput": {
"type": "string"
}
},
"required": [
"userInput",
"service",
"port"
],
"type": "object"
},
"type": "array"
},
"help": {
"properties": {
"alerts": {
"items": {
"properties": {
"content": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"heading": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"link": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"linkText": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"status": {
"type": "string"
}
},
"required": [
"status",
"heading",
"content"
],
"type": "object"
},
"type": "array"
},
"technicalDetails": {
"items": {
"properties": {
"key": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"iconUrl": {
"type": "string"
},
"id": {
"type": "string"
},
"license": {
"properties": {
"link": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"manifestVersion": {
"description": "Version of the manifest for this template, e.g. '1.0'",
"type": "string"
},
"name": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"repository": {
"type": "string"
},
"screenshots": {
"items": {
"properties": {
"bg": {
"type": "string"
},
"screenshot": {
"type": "string"
},
"text": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
}
},
"required": [
"bg",
"screenshot",
"text"
],
"type": "object"
},
"type": "array"
},
"supportLink": {
"type": "string"
},
"tagline": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"type": {
"enum": [
"component",
"standalone"
],
"type": "string"
},
"userInputs": {
"items": {
"properties": {
"dataSource": {
"type": "string"
},
"defaultValue": {
"type": "string"
},
"label": {
"properties": {
"de": {
"type": "string"
},
"en": {
"type": "string"
}
},
"required": [
"de",
"en"
],
"type": "object"
},
"name": {
"type": "string"
},
"positionMeta": {
"properties": {
"index": {
"type": "integer"
},
"section": {
"type": "string"
},
"step": {
"type": "string"
}
},
"type": "object"
},
"required": {
"type": "boolean"
},
"validationSchema": {
"type": "string"
}
},
"required": [
"name",
"required"
],
"type": "object"
},
"type": "array"
},
"version": {
"description": "Version of the application described by this template, e.g. 'latest'",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"id",
"type",
"manifestVersion",
"version",
"name",
"categories",
"tagline",
"description",
"developer",
"iconUrl"
],
"type": "object"
},
"type": "array"
}
Validation Error caused by invalid input data in the request
- type"ValidationError"required
- messagestring
- validationErrorsarray of objectrequired
- Array[
- *object
- messagestringrequired
The standard error message
- pathstringrequired
The path to the part of the data that was validated. JavaScript property access notation (e.g., ".prop[1].subProp") is used.
- typestringrequired
ajv validation error type (e.g. "format", "required", "type") or own validation error types
- contextobject
The object with the additional information about the error that can be used to create custom error messages. Keys depend on the type that failed validation (e.g. "missingProperty" for type "required")
- *string
]
Content-Type: application/json
{
"type": "ValidationError",
"message": "Validation failed",
"validationErrors": [
{
"message": "should be string",
"path": ".address.street",
"type": "format",
"context": {
"format": "email"
}
}
]
}
{
"type": "object",
"required": [
"type",
"validationErrors"
],
"properties": {
"type": {
"type": "string",
"enum": [
"ValidationError"
]
},
"message": {
"type": "string",
"example": "Validation failed"
},
"validationErrors": {
"type": "array",
"items": {
"type": "object",
"required": [
"message",
"path",
"type"
],
"properties": {
"message": {
"type": "string",
"description": "The standard error message",
"example": "should be string"
},
"path": {
"type": "string",
"description": "The path to the part of the data that was validated. JavaScript property access notation (e.g., \".prop[1].subProp\") is used.\n",
"example": ".address.street"
},
"type": {
"type": "string",
"description": "ajv validation error type (e.g. \"format\", \"required\", \"type\") or own validation error types",
"example": "format"
},
"context": {
"type": "object",
"example": {
"format": "email"
},
"description": "The object with the additional information about the error that can be used to create custom error messages. Keys depend on the\ntype that failed validation (e.g. \"missingProperty\" for type \"required\")\n",
"additionalProperties": {
"type": "string"
}
}
}
}
}
}
}
Your request ran into a rate limit. You have to wait until rate limit expires
- messagestring
- typestring
Content-Type: application/json
{
"message": "too many requests",
"type": "RateLimitError"
}
{
"type": "object",
"properties": {
"message": {
"type": "string",
"example": "too many requests"
},
"type": {
"type": "string",
"example": "RateLimitError"
}
}
}
An unexpected Error that occurred while handling the request
- messagestringrequired
- typestringrequired
Content-Type: application/json
{
"message": "Something went wrong",
"type": "InternalServerError"
}
{
"type": "object",
"required": [
"type",
"message"
],
"properties": {
"message": {
"type": "string",
"example": "Something went wrong"
},
"type": {
"type": "string",
"example": "InternalServerError"
}
}
}
An unexpected Error that occurred while handling the request
- messagestringrequired
- typestringrequired
Content-Type: application/json
{
"message": "Something went wrong",
"type": "InternalServerError"
}
{
"type": "object",
"required": [
"type",
"message"
],
"properties": {
"message": {
"type": "string",
"example": "Something went wrong"
},
"type": {
"type": "string",
"example": "InternalServerError"
}
}
}
Usage examples
$ curl \
--fail \
--location \
-H "Authorization: Bearer $MITTWALD_API_TOKEN" \
https://api.mittwald.de/v2/container-templates?category=string&searchTerm=string&type=component&sortOrder=trend30days&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.container.listTemplates({
"queryParameters": {
"category": "string",
"searchTerm": "string",
"type": "component",
"sortOrder": "trend30days",
"limit": 50,
"page": 1
}
});
assertStatus(response, 200);
use \Mittwald\ApiClient\Generated\V2\Clients\Container\ListTemplates\ListTemplatesRequest;
$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));
$request = (new ListTemplatesRequest())
->withCategory("string")
->withSearchTerm("string")
->withType("component")
->withSortOrder("trend30days")
->withLimit(50)
->withPage(1);
$response = $client->container()->listTemplates($request);
var_dump($response->getBody();