Get an Article
GET/articles/ {articleId}/
v2
GET
article-get-article
Request
- articleIdstringrequiredExample:
"PS23-PLUS-0004"
Responses
application/json
The Article object
- Schema documentation
- Example
- JSON Schema
- addonsarray of object
- Array[
- *object
- hiddenboolean
- keystring (≥ 1 characters)required
- typestring
- valuestringrequired
- valueMergeTypestring (one of: add, set)
]
articleIdstring (≥ 3 characters)
required
attributesarray of object
- Array[
- *object
- customerEditableboolean
- keystring (≥ 1 characters)required
- mergeTypestring (one of: add, set)
- readonlyboolean
- requiredboolean
- unitstring
- valuestring
]
balanceAddonKeystring
contractDurationInMonthnumber (≥ 0)
required
descriptionstring
forcedInvoicingPeriodInMonthnumber (≥ 0)
hasIndependentContractPeriodboolean
hideOnInvoiceboolean
machineTypeobject
- cpustringrequired
- memorystringrequired
- namestringrequired
modifierArticlesarray of object
- Array[
- *object
- articleIdstring (≥ 1 characters)required
- infoobject
- articleNamestring
- articleTemplateNamestring
- fromArticleTemplateboolean
- maxArticleCountnumber (≥ 1)required
]
namestring (≥ 3 characters)
required
orderablestring (one of: forbidden, internal, beta_testing, full, deprecated)
required
possibleArticleChangesarray of object
- Array[
- *object
- articleIdstring (≥ 1 characters)required
- infoobject
- articleNamestring
- articleTemplateNamestring
- fromArticleTemplateboolean
]
pricenumber
tagsarray of object
- Array[
- *object
- descriptionstring (≥ 1 characters)
- hexColorstring (≥ 1 characters)
- idstring (≥ 1 characters)required
- namestring (≥ 1 characters)
]
templateobject
required
- additionalArticlesarray of object
- Array[
- *object
- articleIdstring (≥ 1 characters)required
- infoobject
- articleNamestring
- articleTemplateNamestring
- fromArticleTemplateboolean
- maxArticleCountnumber
]
addonsarray of object
- Array[
- *object
- hiddenboolean
- keystring (≥ 1 characters)required
- typestring
- valuestringrequired
- valueMergeTypestring (one of: add, set)
]
attributesarray of object
- Array[
- *object
- customerEditableboolean
- keystring (≥ 1 characters)required
- mergeTypestring (one of: add, set)
- readonlyboolean
- requiredboolean
- unitstring
- valuestring
]
descriptionstring
idstring (≥ 1 characters)
required
isManagedByDomainboolean
required
isRecurringboolean
required
modifierArticlesarray of object
- Array[
- *object
- articleIdstring (≥ 1 characters)required
- infoobject
- articleNamestring
- articleTemplateNamestring
- fromArticleTemplateboolean
- maxArticleCountnumber (≥ 1)required
]
namestring (≥ 3 characters)
required
typestring (one of: miscellaneous, base, additional, modifier, setup_fee)
required
{
"addons": [
{
"hidden": true,
"key": "string",
"type": "string",
"value": "string",
"valueMergeType": "add"
}
],
"articleId": "PS23-BASIC-0001",
"attributes": [
{
"customerEditable": true,
"key": "cpu",
"mergeType": "add",
"readonly": true,
"required": true,
"unit": "GHz",
"value": "4"
}
],
"balanceAddonKey": "inclusive_domains",
"contractDurationInMonth": 123,
"description": "proSpace without dedicated resources",
"forcedInvoicingPeriodInMonth": 123,
"hasIndependentContractPeriod": true,
"hideOnInvoice": true,
"machineType": {
"cpu": 1,
"memory": 10,
"name": "psplus-shared"
},
"modifierArticles": [
{
"articleId": "string",
"info": {
"articleName": "proSpace lite",
"articleTemplateName": "proSpace",
"fromArticleTemplate": true
},
"maxArticleCount": 123
}
],
"name": "proSpace lite",
"orderable": "forbidden",
"possibleArticleChanges": [
{
"articleId": "string",
"info": {
"articleName": "proSpace lite",
"articleTemplateName": "proSpace",
"fromArticleTemplate": true
}
}
],
"price": 1000,
"tags": [
{
"description": "CPU optimized",
"hexColor": "#ff0000",
"id": "58e39bbe-fcd1-4fde-887c-f49ff85b9df5",
"name": "cpu-optimized"
}
],
"template": {
"additionalArticles": [
{
"articleId": "PS23-BASIC-0001",
"info": {
"articleName": "proSpace lite",
"articleTemplateName": "proSpace",
"fromArticleTemplate": true
},
"maxArticleCount": 10
}
],
"addons": [
{
"hidden": true,
"key": "string",
"type": "string",
"value": "string",
"valueMergeType": "add"
}
],
"attributes": [
{
"customerEditable": true,
"key": "cpu",
"mergeType": "add",
"readonly": true,
"required": true,
"unit": "GHz",
"value": "4"
}
],
"description": "Space-Storage",
"id": "054e27e4-d3ed-4ffc-a472-fbb74a6a2ec1",
"isManagedByDomain": true,
"isRecurring": true,
"modifierArticles": [
{
"articleId": "string",
"info": {
"articleName": "proSpace lite",
"articleTemplateName": "proSpace",
"fromArticleTemplate": true
},
"maxArticleCount": 123
}
],
"name": "Speicher für Space-Server aller Art",
"type": "miscellaneous"
}
}
{
"properties": {
"addons": {
"items": {
"properties": {
"hidden": {
"type": "boolean"
},
"key": {
"minLength": 1,
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"valueMergeType": {
"enum": [
"add",
"set"
],
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"articleId": {
"example": "PS23-BASIC-0001",
"minLength": 3,
"type": "string"
},
"attributes": {
"items": {
"properties": {
"customerEditable": {
"type": "boolean"
},
"key": {
"example": "cpu",
"minLength": 1,
"type": "string"
},
"mergeType": {
"enum": [
"add",
"set"
],
"type": "string"
},
"readonly": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"unit": {
"example": "GHz",
"type": "string"
},
"value": {
"example": "4",
"type": "string"
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"balanceAddonKey": {
"example": "inclusive_domains",
"type": "string"
},
"contractDurationInMonth": {
"example": 0,
"maximum": 42,
"minimum": 0,
"type": "number"
},
"description": {
"example": "proSpace without dedicated resources",
"type": "string"
},
"forcedInvoicingPeriodInMonth": {
"example": 0,
"minimum": 0,
"type": "number"
},
"hasIndependentContractPeriod": {
"type": "boolean"
},
"hideOnInvoice": {
"type": "boolean"
},
"machineType": {
"properties": {
"cpu": {
"example": 1,
"type": "string"
},
"memory": {
"example": 10,
"type": "string"
},
"name": {
"example": "psplus-shared",
"type": "string"
}
},
"required": [
"name",
"cpu",
"memory"
],
"type": "object"
},
"modifierArticles": {
"items": {
"properties": {
"articleId": {
"minLength": 1,
"type": "string"
},
"info": {
"properties": {
"articleName": {
"example": "proSpace lite",
"type": "string"
},
"articleTemplateName": {
"example": "proSpace",
"type": "string"
},
"fromArticleTemplate": {
"type": "boolean"
}
},
"type": "object"
},
"maxArticleCount": {
"minimum": 1,
"type": "number"
}
},
"required": [
"articleId",
"maxArticleCount"
],
"type": "object"
},
"type": "array"
},
"name": {
"example": "proSpace lite",
"minLength": 3,
"type": "string"
},
"orderable": {
"enum": [
"forbidden",
"internal",
"beta_testing",
"full",
"deprecated"
],
"type": "string"
},
"possibleArticleChanges": {
"items": {
"properties": {
"articleId": {
"minLength": 1,
"type": "string"
},
"info": {
"properties": {
"articleName": {
"example": "proSpace lite",
"type": "string"
},
"articleTemplateName": {
"example": "proSpace",
"type": "string"
},
"fromArticleTemplate": {
"type": "boolean"
}
},
"type": "object"
}
},
"required": [
"articleId"
],
"type": "object"
},
"type": "array"
},
"price": {
"example": 1000,
"type": "number"
},
"tags": {
"items": {
"properties": {
"description": {
"example": "CPU optimized",
"minLength": 1,
"type": "string"
},
"hexColor": {
"example": "#ff0000",
"minLength": 1,
"type": "string"
},
"id": {
"example": "58e39bbe-fcd1-4fde-887c-f49ff85b9df5",
"minLength": 1,
"type": "string"
},
"name": {
"example": "cpu-optimized",
"minLength": 1,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"template": {
"properties": {
"additionalArticles": {
"items": {
"properties": {
"articleId": {
"example": "PS23-BASIC-0001",
"minLength": 1,
"type": "string"
},
"info": {
"properties": {
"articleName": {
"example": "proSpace lite",
"type": "string"
},
"articleTemplateName": {
"example": "proSpace",
"type": "string"
},
"fromArticleTemplate": {
"type": "boolean"
}
},
"type": "object"
},
"maxArticleCount": {
"example": 10,
"type": "number"
}
},
"required": [
"articleId"
],
"type": "object"
},
"type": "array"
},
"addons": {
"items": {
"properties": {
"hidden": {
"type": "boolean"
},
"key": {
"minLength": 1,
"type": "string"
},
"type": {
"type": "string"
},
"value": {
"type": "string"
},
"valueMergeType": {
"enum": [
"add",
"set"
],
"type": "string"
}
},
"required": [
"key",
"value"
],
"type": "object"
},
"type": "array"
},
"attributes": {
"items": {
"properties": {
"customerEditable": {
"type": "boolean"
},
"key": {
"example": "cpu",
"minLength": 1,
"type": "string"
},
"mergeType": {
"enum": [
"add",
"set"
],
"type": "string"
},
"readonly": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"unit": {
"example": "GHz",
"type": "string"
},
"value": {
"example": "4",
"type": "string"
}
},
"required": [
"key"
],
"type": "object"
},
"type": "array"
},
"description": {
"example": "Space-Storage",
"type": "string"
},
"id": {
"example": "054e27e4-d3ed-4ffc-a472-fbb74a6a2ec1",
"minLength": 1,
"type": "string"
},
"isManagedByDomain": {
"type": "boolean"
},
"isRecurring": {
"type": "boolean"
},
"modifierArticles": {
"items": {
"properties": {
"articleId": {
"minLength": 1,
"type": "string"
},
"info": {
"properties": {
"articleName": {
"example": "proSpace lite",
"type": "string"
},
"articleTemplateName": {
"example": "proSpace",
"type": "string"
},
"fromArticleTemplate": {
"type": "boolean"
}
},
"type": "object"
},
"maxArticleCount": {
"minimum": 1,
"type": "number"
}
},
"required": [
"articleId",
"maxArticleCount"
],
"type": "object"
},
"type": "array"
},
"name": {
"example": "Speicher für Space-Server aller Art",
"minLength": 3,
"type": "string"
},
"type": {
"enum": [
"miscellaneous",
"base",
"additional",
"modifier",
"setup_fee"
],
"type": "string"
}
},
"required": [
"id",
"name",
"isRecurring",
"type",
"isManagedByDomain"
],
"type": "object"
}
},
"required": [
"articleId",
"name",
"contractDurationInMonth",
"orderable",
"template"
],
"type": "object"
}
Usage examples
- cURL
- JavaScript SDK
- PHP SDK
$ curl \
--fail \
--location \
-H "Authorization: Bearer $MITTWALD_API_TOKEN" \
https://api.mittwald.de/v2/articles/string?customerId=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.article.getArticle({
"articleId": "string",
"queryParameters": {
"customerId": "string"
}
});
assertStatus(response, 200);
use \Mittwald\ApiClient\Generated\V2\Clients\Article\GetArticle\GetArticleRequest;
$client = MittwaldAPIClient::newWithToken(getenv('MITTWALD_API_TOKEN'));
$request = (new GetArticleRequest(
articleId: "string"
))
->withCustomerId("string");
$response = $client->article()->getArticle($request);
var_dump($response->getBody();