Schnittstellen für Mittwald-Kunden (1.4.1)
Download OpenAPI specification:Download
Für die öffentliche API, alle Bestandteile und diese Dokumentation bieten wir keinen Support. Wir behalten uns vor, Änderungen jederzeit und ohne Ankündigung oder Dokumentation durchzuführen.
Authentifizierung
Mit Nutzername & Passwort
Zur Authentifizierung wird ein zuvor ausgestelltes API-Token benötigt. Bei Requests kann dieses Token innerhalb eines Authorization
-Headers übergeben werden:
GET /v1/customers/123456 HTTP/1.1
Host: api.mittwald.de
Authorization: Bearer {TOKEN-HIER-EINFÜGEN}
Alternativ dazu kann das Token auch in Form des Query-Parameters access_token
übergeben werden:
GET /v1/customers/123456?access_token={TOKEN-HIER-EINFÜGEN} HTTP/1.1
Host: api.mittwald.de
Um ein Token zu beziehen, kann der /authenticate
-Endpunkt genutzt werden. Hier erfolgt eine Authentifzierung über die Zugangsdaten des Mittwald-Kundencenters.
POST /v1/authenticate HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json
Accept: application/jwt
{
"username": "r1234",
"password": "{PASSWORT-HIER-EINFÜGEN}"
}
Rückgabewert dieses Aufrufs ist ein API-Token. Dieses hat eine begrenzte Gültigkeitsdauer.
Wichtig: Client-Applikationen sollten das API-Token für seine Gültigkeitsdauer cachen, und erst anschließend ein neues Token über die API anfordern.
Mit Access-Token
Für Anwendungen, die dauerhaft Zugriff auf die Mittwald-API benötigen, wird nicht empfohlen, Nutzername und Passwort dauerhaft in der jeweiligen Anwendung zu speichern. Stattdessen empfehlen wir den Einsatz eines Access Tokens, welches nach einem (initialen) Login mit Nutzername und Passwort erstellt und im Anschluss anstelle dessen genutzt werden kann.
Hierzu wird zunächst ein reguläres API-Token benötigt, das per Nutzername und Passwort bezogen werden kann. Weder Nutzername+Passwort noch das damit bezogene API-Token müssen dauerhaft gespeichert werden. Sie dienen lediglich dazu, ein Access Token zu erstellen, welches im Anschluss dauerhaft in der Applikation gespeichert werden kann:
POST /v1/authentication/tokens HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json
{ "description": "Meine Anwendung"
}
In der Antwort auf obige Anfrage ist das eigentliche Access Token und dessen ID enthalten (mit Beispiel-Daten):
HTTP/1.1 201 Created
Content-Type: application/json
{ "uuid": "2a91ce52-2058-404b-9959-ac7d2fbbbfbc",
"token": "MW_aEQyz5j9YmTaamTq2N9X3d2sBDACLUoz",
"crdate": "2021-08-23T14:06:17.580Z",
"description": "Meine Anwendung"
}
uuid
und token
dieser Antwort können bei nachfolgenden Authentifzierungs-Vorgängen als Nutzername und Passwort genutzt werden.
Rate Limiting
Zur Sicherstellung der Systemstabilität sind einige API-Endpunkte in der Anzahl der durchführbaren Anfragen beschränkt. Die Limitierung bezieht sich dabei stets auf ein Zeitfenster von 15 Minuten.
Bei auf diese Weise zugriffsbeschränkten API-Endpunkten enthalten die HTTP-Antworten stets einen X-RateLimit
-Header, welcher die maximale Anzahl der ausführbaren Anfragen enthält. Außerdem enthält jede Antwort einen X-RateLimit-Remaining
-Header, welcher die aktuell noch verfügbaren Anfragen enthält:
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf8
Content-Length: 1234
X-RateLimit: 1000
X-RateLimit-Remaining: 712
Caching
Einige Anfragen an die API können zwecks besserer Performance aus einem serverseitigen Cache beantwortet werden. Wurde eine Anfrage aus dem Cache beantwortet, enthält die Antwort einen X-Cache: HIT
-Header.
Der Cache einer Ressource wird dann geleert, wenn ein POST
-, PUT
- oder DELETE
-Request an dieselbe URI gesendet wird, oder bei einem GET
-Request ein Cache-Control: no-cache
-Header gesendet wird.
Für die öffentliche API, alle Bestandteile und diese Dokumentation bieten wir keinen Support. Wir behalten uns vor, Änderungen jederzeit und ohne Ankündigung oder Dokumentation durchzuführen.
Authentifizierung
Mit Nutzername & Passwort
Zur Authentifizierung wird ein zuvor ausgestelltes API-Token benötigt. Bei Requests kann dieses Token innerhalb eines Authorization
-Headers übergeben werden:
GET /v1/customers/123456 HTTP/1.1
Host: api.mittwald.de
Authorization: Bearer {TOKEN-HIER-EINFÜGEN}
Alternativ dazu kann das Token auch in Form des Query-Parameters access_token
übergeben werden:
GET /v1/customers/123456?access_token={TOKEN-HIER-EINFÜGEN} HTTP/1.1
Host: api.mittwald.de
Um ein Token zu beziehen, kann der /authenticate
-Endpunkt genutzt werden. Hier erfolgt eine Authentifzierung über die Zugangsdaten des Mittwald-Kundencenters.
POST /v1/authenticate HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json
Accept: application/jwt
{
"username": "r1234",
"password": "{PASSWORT-HIER-EINFÜGEN}"
}
Rückgabewert dieses Aufrufs ist ein API-Token. Dieses hat eine begrenzte Gültigkeitsdauer.
Wichtig: Client-Applikationen sollten das API-Token für seine Gültigkeitsdauer cachen, und erst anschließend ein neues Token über die API anfordern.
Mit Access-Token
Für Anwendungen, die dauerhaft Zugriff auf die Mittwald-API benötigen, wird nicht empfohlen, Nutzername und Passwort dauerhaft in der jeweiligen Anwendung zu speichern. Stattdessen empfehlen wir den Einsatz eines Access Tokens, welches nach einem (initialen) Login mit Nutzername und Passwort erstellt und im Anschluss anstelle dessen genutzt werden kann.
Hierzu wird zunächst ein reguläres API-Token benötigt, das per Nutzername und Passwort bezogen werden kann. Weder Nutzername+Passwort noch das damit bezogene API-Token müssen dauerhaft gespeichert werden. Sie dienen lediglich dazu, ein Access Token zu erstellen, welches im Anschluss dauerhaft in der Applikation gespeichert werden kann:
POST /v1/authentication/tokens HTTP/1.1
Host: api.mittwald.de
Content-Type: application/json
{ "description": "Meine Anwendung"
}
In der Antwort auf obige Anfrage ist das eigentliche Access Token und dessen ID enthalten (mit Beispiel-Daten):
HTTP/1.1 201 Created
Content-Type: application/json
{ "uuid": "2a91ce52-2058-404b-9959-ac7d2fbbbfbc",
"token": "MW_aEQyz5j9YmTaamTq2N9X3d2sBDACLUoz",
"crdate": "2021-08-23T14:06:17.580Z",
"description": "Meine Anwendung"
}
uuid
und token
dieser Antwort können bei nachfolgenden Authentifzierungs-Vorgängen als Nutzername und Passwort genutzt werden.
Rate Limiting
Zur Sicherstellung der Systemstabilität sind einige API-Endpunkte in der Anzahl der durchführbaren Anfragen beschränkt. Die Limitierung bezieht sich dabei stets auf ein Zeitfenster von 15 Minuten.
Bei auf diese Weise zugriffsbeschränkten API-Endpunkten enthalten die HTTP-Antworten stets einen X-RateLimit
-Header, welcher die maximale Anzahl der ausführbaren Anfragen enthält. Außerdem enthält jede Antwort einen X-RateLimit-Remaining
-Header, welcher die aktuell noch verfügbaren Anfragen enthält:
HTTP/1.1 200 OK
Content-Type: application/json;charset=utf8
Content-Length: 1234
X-RateLimit: 1000
X-RateLimit-Remaining: 712
Caching
Einige Anfragen an die API können zwecks besserer Performance aus einem serverseitigen Cache beantwortet werden. Wurde eine Anfrage aus dem Cache beantwortet, enthält die Antwort einen X-Cache: HIT
-Header.
Der Cache einer Ressource wird dann geleert, wenn ein POST
-, PUT
- oder DELETE
-Request an dieselbe URI gesendet wird, oder bei einem GET
-Request ein Cache-Control: no-cache
-Header gesendet wird.
Hinterlegen von neuen Application-Tokens
Diese Operation ermöglicht es neue Application-Tokens zu hinterlegen.
Request Body schema: application/jsonrequired
Das Token sowie eine optionale Beschreibung
description required | string |
Responses
Request samples
- Payload
{- "description": "string"
}
Response samples
- 201
{- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "crdate": "2019-08-24T14:15:22Z",
- "token": "pa$$word",
- "description": "string"
}
Verify an existing authentication token
This resource can be used to verify an existing JWT. This resource is
just for convenience; clients can also use the /key
resource to obtain
this service's public key and verify the token's signature theirselves.
Request Body schema: application/jsonrequired
The JWT to verify
An encoded and signed JWT
Responses
Request samples
- Payload
"string"
Account auslesen
Diese Operation liest genaue Daten eines einzelnen Accounts aus
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Responses
Response samples
- 200
- 403
{- "uid": 0,
- "customerNumber": 0,
- "name": "string",
- "activateShell": true,
- "description": "string",
- "disabled": true,
- "ipAddresses": [
- {
- "address": "string",
- "scope": "internal",
- "version": 0,
- "type": "string",
- "relatedCertificateCommonName": "string"
}
], - "status": "creating"
}
Account bearbeiten
Nehme Änderungen an dem Account vor. Ändere die Beschreibung oder aktiviere/deaktiviere diesen.
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Request Body schema: application/json
name | string >= 4 characters Neue Account Beschreibung |
active | boolean Account aktivieren oder deaktivieren. Geht nur bei Reseller Unteraccounts. |
Responses
Request samples
- Payload
{- "name": "string",
- "active": true
}
Response samples
- 200
- 400
- 403
{- "msg": "string"
}
Softwareinstallationen auslesen
Diese Operation liest alle Softwareinstallationen eines einzelnen Accounts aus
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
query Parameters
installPath | string Filtert Software-Installationen nach Installationspfad (z.B. |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "software": {
- "uid": 0,
- "identifier": "string",
- "name": "string"
}, - "version": {
- "uid": 0,
- "number": "string"
}, - "installPath": "string",
- "frontendUrl": "string",
- "backendUrl": "string",
- "documentRoot": "string",
- "status": "creating",
- "database": {
- "uid": 0,
- "name": "string"
}
}
]
PHP Updaten
PHP Version vom übergebenen Account auf neue Zielversion updaten
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Request Body schema: application/jsonrequired
Request Body des Update-Prozesses
version required | string Major & Minor Versions-Nummer, z.B. "8.1" |
Responses
Request samples
- Payload
{- "version": "string"
}
Response samples
- 200
- 400
- 402
- 404
{- "msg": "string"
}
Accounts eines Kunden
Diese Ressource enthält eine Sammlung aller Accounts eines Kunden.
path Parameters
customerNumber required | integer Kundennummer |
query Parameters
advised | boolean Default: false Dieser Parameter steuert, ob auch Accounts zurückgeliefert werden sollen,
für die eine Verwaltungsfreigabe besteht, aber nicht zur Kundennummer
|
owned | boolean Default: true Dieser Parameter steuert, ob Accounts zurückgeliefert werden sollen, die
direkt der Kundennummer |
fields | string Felder die beim Ergebnis inkludiert werden |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "customerNumber": 0,
- "name": "string",
- "activateShell": true,
- "description": "string",
- "disabled": true,
- "ipAddresses": [
- {
- "address": "string",
- "scope": "internal",
- "version": 0,
- "type": "string",
- "relatedCertificateCommonName": "string"
}
], - "status": "creating"
}
]
getAccountVisitorStatistics
Liefert Statistiken zu Besucherzahlen eines Projekts
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Responses
Response samples
- 200
{- "id": "string",
- "last_information_at": 0,
- "limit": {
- "article": {
- "name": "string",
- "number": 0
}, - "maximum": 0,
- "maximum_updated_at": "2019-08-24T14:15:22Z",
- "usage": 0,
- "usage_absolute": 0
}, - "name": "string",
- "skip_information": true,
- "throttling": {
- "enabled": true
}, - "grace_period": { },
- "visitor_information": {
- "daily": [
- {
- "count": 0,
- "date": "2019-08-24T14:15:22Z"
}
], - "monthly": [
- {
- "count": 0,
- "date": "2019-08-24T14:15:22Z"
}
]
}
}
getAccountStatistics
Liefert Statistiken zur Speicherplatzauslastung eines Projekts
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Responses
Response samples
- 200
{- "accounts": [
- {
- "details": {
- "backups": {
- "items": [
- {
- "itemName": "string",
- "itemSize": 0,
- "itemUpdatedAt": 0
}
], - "summary": 0
}, - "dbspace": {
- "items": [
- {
- "itemName": "string",
- "itemSize": 0,
- "itemUpdatedAt": 0
}
], - "summary": 0
}, - "mail": {
- "items": [
- {
- "itemName": "string",
- "itemSize": 0,
- "itemUpdatedAt": 0
}
], - "summary": 0
}, - "snapshot": {
- "items": [
- {
- "itemName": "string",
- "itemSize": 0,
- "itemUpdatedAt": 0
}
], - "summary": 0
}, - "system": {
- "items": [
- {
- "itemName": "string",
- "itemSize": 0,
- "itemUpdatedAt": 0
}
], - "summary": 0
}, - "template": {
- "items": [
- {
- "itemName": "string",
- "itemSize": 0,
- "itemUpdatedAt": 0
}
], - "summary": 0
}, - "webspace": {
- "items": [
- {
- "itemName": "string",
- "itemSize": 0,
- "itemUpdatedAt": 0
}
], - "summary": 0
}
}, - "limit": 0,
- "name": "string",
- "percent": 0,
- "summary": 0
}
], - "meta": {
- "limit": 0,
- "percent": 0,
- "summary": 0
}
}
Domains eines Accounts auslesen
Diese Operation liest die Domains eines einzelnen Accounts aus
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
query Parameters
limit | integer Default: 20 Anzahl der zurückzuliefernden Domains. |
offset | integer Default: 0 Offset für die Limitierung der Suchergebnisse |
Responses
Response samples
- 200
- 403
[- {
- "name": "string",
- "fullname": "string",
- "registryStatus": "string",
- "tld": "string"
}
]
Domain registrieren/Transfer einleiten
Diese Operation kann genutzt werden, um für den gegebenen Account eine neue Domain zu registrieren oder einen Virtual Host Eintrag zu erstellen. Falls die Domain bereits vergeben ist, müssen ein Auth-Code und unter Umständen ein Authentifizierungsverfahren mitangegeben werden, um einen Domain-Transfer einzuleiten.
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Request Body schema: application/jsonrequired
Daten für eine Domain-Registrierung
object (Handles) | |
sld required | string |
tld required | string |
object (DomainNameTransfer) | |
external | boolean Gesetzt, wenn es sich um einen Virtual Host Eintrag handeln soll |
target | string Bei Virtual Host Einträgen kann direkt das Zielverzeichnis mit angegeben werden |
Responses
Request samples
- Payload
{- "handles": {
- "owner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "admin": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}
}, - "sld": "string",
- "tld": "string",
- "domainNameTransfer": {
- "authcode": "string",
- "authInfoProcedure": 0
}, - "external": true,
- "target": "string"
}
Response samples
- 201
[- {
- "name": "string",
- "fullname": "string",
- "registryStatus": "string",
- "tld": "string"
}
]
Domain Proxies eines Accounts
Zeige alle aktiven Domain Proxies eines Accounts an
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "domain": {
- "uid": 0,
- "name": "string"
}, - "subDomain": {
- "uid": 0,
- "name": "string"
}, - "sourceAccount": {
- "uid": 0,
- "name": "string"
}, - "destinationAccount": {
- "uid": 0,
- "name": "string"
}, - "expireDate": {
- "date": "string",
- "timezone_type": 0,
- "timezone": "string"
}
}
]
Subdomains eines Accounts auslesen
Liefert alle verfügbaren Subdomains eines Accounts
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
domainIdentifier required | string Vollständiger Name der Domain |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "fullName": "string",
- "target": "string",
- "name": "string"
}
]
Subdomain erstellen
Erstellt eine neue Subdomain
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
domainIdentifier required | string Vollständiger Name der Domain |
Request Body schema: application/jsonrequired
Daten der neuen Subdomain
name required | string |
target | string |
Responses
Request samples
- Payload
[- {
- "name": "string",
- "target": "string"
}
]
Response samples
- 201
[- {
- "uid": 0,
- "fullName": "string",
- "target": "string",
- "name": "string"
}
]
Toplevel-Domain auslesen
Liefert eine Topleveldomain aus
path Parameters
topLevelDomainIdentifier required | string Topleveldomain |
query Parameters
fields | string Auszuliefernde Felder, als kommaseparierte Liste. |
Responses
Response samples
- 200
{- "uid": 0,
- "name": "string",
- "description": "string",
- "articleNumber": 0,
- "price": "string",
- "agencyPrice": "string",
- "setupFee": "string",
- "isAllowedAsInclusiveDomain": true
}
Get domain overview
Get the data for the domain overview
path Parameters
accountIdentifier required | string Account name or uid. |
Responses
Response samples
- 200
- 500
[- {
- "uid": 0,
- "_class": "string",
- "fullname": "string",
- "domain": "string",
- "target": "string",
- "accountUid": 0,
- "accountName": "string",
- "useAutodiscover": true,
- "hasSslCertificate": true,
- "hasVarnish": true,
- "isSubDomain": true,
- "isExternal": true,
- "isSslReady": true,
- "isTodoReady": true,
- "isRegistrarJobOpen": true,
- "isReady": true
}
]
Get dns overview
Get the data for the dns overview
path Parameters
accountIdentifier required | string Account name or uid. |
Responses
Response samples
- 200
- 500
[- {
- "uid": 0,
- "_class": "string",
- "isSubdomain": true,
- "isReady": true,
- "hasSslCertificate": true,
- "fullName": "string",
- "domainName": "string",
- "defaultAccountIp": "string",
- "defaultDomainIp": {
- "4": "string",
- "6": "string"
}, - "records": {
- "A": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
], - "AAAA": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
], - "CNAME": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
], - "NS": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
], - "MX": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
], - "TXT": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
], - "SRV": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
], - "CAA": [
- {
- "host": "string",
- "value": "string",
- "ttl": 0,
- "priority": 0
}
]
}
}
]
IP Adressen des Accounts auslesen
gibt die IP Adressen des Accounts zurück, die sich alls DNS Records eignen
path Parameters
accountIdentifier required | string Account name oder uid. |
Responses
Response samples
- 200
- 500
[- {
- "address": "string",
- "type": "SHARED",
- "version": 4,
- "commonName": "string"
}
]
Update DNS information for a domain
Updates DNS records for all available types
path Parameters
accountIdentifier required | string Name or UID of the account |
domainIdentifier required | string Name of the domain or subdomain |
Request Body schema: application/jsonrequired
Update DNS records of a specific domain
Array of ManualMxRecord (objects) or AutoMxRecordOption (string) (MxRecord) | |
CName (string) or IpRecord (object) (TargetRecord) | |
ns | Array of strings |
txt | Array of strings |
Array of objects (SrvRecord) |
Responses
Request samples
- Payload
{- "mx": [
- {
- "priority": 0,
- "value": "string"
}
], - "target": "mittwald.de",
- "ns": [
- "string"
], - "txt": [
- "string"
], - "srv": [
- {
- "service": "string",
- "protocol": "tcp",
- "server": "string",
- "priority": 0,
- "weight": 0,
- "port": 0
}
]
}
Response samples
- 200
- 400
{- "message": "string"
}
Mailadressen eines Accounts auslesen
Diese Operation liest die Mailadressen eines einzelnen Accounts aus
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
query Parameters
limit | integer Default: 20 Anzahl der zurückzuliefernden Domains. |
offset | integer Default: 0 Offset für die Limitierung der Suchergebnisse |
Responses
Response samples
- 200
- 403
[- {
- "uid": 0,
- "fullName": "string"
}
]
Notifications auslesen
Liste alle Notifications worauf der Login aktuell rechte hat aus
query Parameters
countOnly | boolean Soll nur die ungelesenen Nachrichten gezählt werden? (Performance boost) |
Responses
Response samples
- 200
- 403
{- "notifications": [
- {
- "uid": 0,
- "crdate": 0,
- "read": true,
- "title": "string",
- "message": "string"
}
], - "unreadCount": 0
}
Softwareinstallationen auslesen
Diese Operation liest alle Softwareinstallationen eines einzelnen Accounts aus
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
query Parameters
installPath | string Filtert Software-Installationen nach Installationspfad (z.B. |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "software": {
- "uid": 0,
- "identifier": "string",
- "name": "string"
}, - "version": {
- "uid": 0,
- "number": "string"
}, - "installPath": "string",
- "frontendUrl": "string",
- "backendUrl": "string",
- "documentRoot": "string",
- "status": "creating",
- "database": {
- "uid": 0,
- "name": "string"
}
}
]
PHP Updaten
PHP Version vom übergebenen Account auf neue Zielversion updaten
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
Request Body schema: application/jsonrequired
Request Body des Update-Prozesses
version required | string Major & Minor Versions-Nummer, z.B. "8.1" |
Responses
Request samples
- Payload
{- "version": "string"
}
Response samples
- 200
- 400
- 402
- 404
{- "msg": "string"
}
Details einer Softwareinstallation auslesen
Diese Operation liest Details zu einer ganz bestimmten Softwareinstallation aus
path Parameters
installationIdentifier required | string ID einer Software-Installation |
Responses
Response samples
- 200
{- "uid": 0,
- "software": {
- "uid": 0,
- "identifier": "string",
- "name": "string"
}, - "version": {
- "uid": 0,
- "number": "string"
}, - "installPath": "string",
- "frontendUrl": "string",
- "backendUrl": "string",
- "documentRoot": "string",
- "status": "creating",
- "database": {
- "uid": 0,
- "name": "string"
}
}
Extensions einer Softwareinstallation auslesen
Diese Operation liest Extensions aus, die in einer bestimmten Softwareinstallation installiert sind.
Hinweis: Diese Daten werden in der Regel einmal täglich aktualisiert.
path Parameters
installationIdentifier required | string ID einer Software-Installation |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "key": "string",
- "name": "string",
- "version": "string"
}
]
Vertragspartner auslesen
Diese Operation liefert Details zum Vertragspartner eines Kunden zurück
path Parameters
customerNumber required | integer Kundennummer |
Responses
Response samples
- 200
- 403
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "string",
- "company": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "country": {
- "isoShort": "string",
- "isoLong": "string",
- "euMember": true,
- "name": {
- "de": "string",
- "en": "string"
}
}
}, - "contact": {
- "telephone": "string",
- "fax": "string",
- "email": "user@example.com"
}
}
Vertragspartner ändern
Über diese Operation können die Vertragspartnerdaten eines Kunden geändert werden
path Parameters
customerNumber required | integer Kundennummer |
Request Body schema: application/jsonrequired
Die zu ändernden Vertragspartnerdaten
firstName | string non-empty |
lastName | string non-empty |
title | string non-empty |
salutation | string Enum: "Herr" "Frau" "Divers" |
street | string non-empty |
houseNumber | string non-empty |
zip | string non-empty |
city | string non-empty |
emailAddress | string <email> |
phone | string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$ |
fax | string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$ |
country | string = 2 characters |
vat | string |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "fax": "string",
- "country": "st",
- "vat": "string"
}
Response samples
- 200
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "string",
- "company": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "country": {
- "isoShort": "string",
- "isoLong": "string",
- "euMember": true,
- "name": {
- "de": "string",
- "en": "string"
}
}
}, - "contact": {
- "telephone": "string",
- "fax": "string",
- "email": "user@example.com"
}
}
Ansprechpartner auslesen
Diese Operation liefert Details zum Ansprechpartner eines Kunden zurück. Der Ansprechpartner kann identisch mit dem Vertragspartner sein; in diesem Fall wird die Anfrage mit einem 303-Statuscode beantwortet, und der Location
-Header enthält die URL des Vertragspartners, der in diesem Fall als Ansprechpartner gilt.
path Parameters
customerNumber required | integer Kundennummer |
Responses
Response samples
- 200
- 403
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "string",
- "company": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "country": {
- "isoShort": "string",
- "isoLong": "string",
- "euMember": true,
- "name": {
- "de": "string",
- "en": "string"
}
}
}, - "contact": {
- "telephone": "string",
- "fax": "string",
- "email": "user@example.com"
}
}
Ansprechpartner ändern
Über diese Operation lassen sich die Daten des Ansprechpartners eines Kunden ändern. Dabei kann der Ansprechpartner über den Request-Body-Parameter "identicalToDefaultAddress" ebenfalls identisch zum Vertragspartner gesetzt werden.
path Parameters
customerNumber required | integer Kundennummer |
Request Body schema: application/jsonrequired
Die zu ändernden Ansprechpartnerdaten
firstName | string non-empty |
lastName | string non-empty |
title | string non-empty |
salutation | string Enum: "Herr" "Frau" "Divers" |
street | string non-empty |
houseNumber | string non-empty |
zip | string non-empty |
city | string non-empty |
emailAddress | string <email> |
phone | string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$ |
fax | string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$ |
country | string = 2 characters |
vat | string |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "fax": "string",
- "country": "st",
- "vat": "string"
}
Response samples
- 200
- 403
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "string",
- "company": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "country": {
- "isoShort": "string",
- "isoLong": "string",
- "euMember": true,
- "name": {
- "de": "string",
- "en": "string"
}
}
}, - "contact": {
- "telephone": "string",
- "fax": "string",
- "email": "user@example.com"
}
}
Zahlungseinstellungen ändern
path Parameters
customerNumber required | integer Kundennummer |
Request Body schema: application/jsonrequired
Neue Zahlungseinstellungen
Responses
Request samples
- Payload
{ }
Response samples
- 200
{ }
Response samples
- 200
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "string",
- "company": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "country": {
- "isoShort": "string",
- "isoLong": "string",
- "euMember": true,
- "name": {
- "de": "string",
- "en": "string"
}
}
}, - "contact": {
- "telephone": "string",
- "fax": "string",
- "email": "user@example.com"
}
}
Rechnungsempfänger ändern
path Parameters
customerNumber required | integer Kundennummer |
Request Body schema: application/jsonrequired
Neuer Rechnungsempfänger
firstName | string non-empty |
lastName | string non-empty |
title | string non-empty |
salutation | string Enum: "Herr" "Frau" "Divers" |
street | string non-empty |
houseNumber | string non-empty |
zip | string non-empty |
city | string non-empty |
emailAddress | string <email> |
phone | string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$ |
fax | string^\+([0-9]{2,3}|1)\-[0-9]{2,5}\-[0-9]+$ |
country | string = 2 characters |
vat | string |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "fax": "string",
- "country": "st",
- "vat": "string"
}
Response samples
- 200
{- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "string",
- "company": "string",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "country": {
- "isoShort": "string",
- "isoLong": "string",
- "euMember": true,
- "name": {
- "de": "string",
- "en": "string"
}
}
}, - "contact": {
- "telephone": "string",
- "fax": "string",
- "email": "user@example.com"
}
}
Rechnungseinstellungen ändern
path Parameters
customerNumber required | integer Kundennummer |
Request Body schema: application/jsonrequired
Neue Zahlungseinstellungen
vatID | string |
postalInvoices required | boolean |
Responses
Request samples
- Payload
{- "vatID": "string",
- "postalInvoices": true
}
Response samples
- 200
{- "vatID": "string",
- "postalInvoices": true
}
Rechnungen eines Kunden
Diese Ressource enthält eine Sammlung aller Rechnungen eines Kunden
path Parameters
customerNumber required | integer Kundennummer |
Responses
Response samples
- 200
[- {
- "invoiceNumber": 0,
- "invoicedAt": "string",
- "netTotal": {
- "currency": "EUR"
}, - "grossTotal": {
- "currency": "EUR"
}, - "items": [
- {
- "title": "string",
- "text": "string",
- "netTotal": {
- "currency": "EUR"
}, - "quantity": {
- "amount": 0,
- "unit": "string"
}
}
]
}
]
Accounts eines Kunden
Diese Ressource enthält eine Sammlung aller Accounts eines Kunden.
path Parameters
customerNumber required | integer Kundennummer |
query Parameters
advised | boolean Default: false Dieser Parameter steuert, ob auch Accounts zurückgeliefert werden sollen,
für die eine Verwaltungsfreigabe besteht, aber nicht zur Kundennummer
|
owned | boolean Default: true Dieser Parameter steuert, ob Accounts zurückgeliefert werden sollen, die
direkt der Kundennummer |
fields | string Felder die beim Ergebnis inkludiert werden |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "customerNumber": 0,
- "name": "string",
- "activateShell": true,
- "description": "string",
- "disabled": true,
- "ipAddresses": [
- {
- "address": "string",
- "scope": "internal",
- "version": 0,
- "type": "string",
- "relatedCertificateCommonName": "string"
}
], - "status": "creating"
}
]
Details zu einer gebuchten Leistung
Liefert Details zu einer gebuchten Leistung.
path Parameters
customerNumber required | integer Kundennummer |
benefit required | string Leistung |
Responses
Response samples
- 200
[- {
- "benefit": {
- "identifier": "string",
- "uid": 0
}, - "exceedance": 0,
- "uid": 0,
- "usage": 0,
- "value": 0
}
]
Status des AV-Vertrags eines Kunden mit mittwald
Liefert den Status des AV-Vertrages eines Kunden mit mittwald, falls kein Vertrag unterschrieben ist wird zusätzlich eine iFrameUrl zum Ausfüllen zurückgegeben
path Parameters
customerNumber required | integer Die Kundennummer |
Responses
Response samples
- 200
{- "signed": true,
- "iframeUrl": "string"
}
Setze Einstellungen des Kunden.
Setze die Kunden Einstellungen, wie z.B. Sprache.
path Parameters
customerNumber required | integer Die Kundennummer |
Request Body schema: application/jsonrequired
Die zu ändernden Einstellungen.
language required | string |
Responses
Request samples
- Payload
{- "language": "string"
}
Response samples
- 200
{- "customerNumber": 0,
- "language": "string"
}
Rechnung eines Kunden
Diese Ressource repräsentiert eine einzelne Rechnung.
Über den Accept
-Header kann gesteuert werden, ob die Daten dieser Rechnung als
JSON-Dokument oder das tatsächliche Rechnungsdokument als PDF abgerufen werden sollen.
path Parameters
invoiceNumber required | integer Rechnungsnummer |
header Parameters
Accept | string Das erwünschte Format ( |
Responses
Response samples
- 200
{- "invoiceNumber": 0,
- "invoicedAt": "string",
- "netTotal": {
- "currency": "EUR"
}, - "grossTotal": {
- "currency": "EUR"
}, - "items": [
- {
- "title": "string",
- "text": "string",
- "netTotal": {
- "currency": "EUR"
}, - "quantity": {
- "amount": 0,
- "unit": "string"
}
}
]
}
Verträge eines Kunden, die sich aktuell im Kündigungsprozess befinden
Liefert alle Verträge eines Kunden, die aktuell gekündigt werden und sich noch nicht länger als 5 Tage in diesem Prozess befinden
path Parameters
customerNumber required | integer Die Kundennummer |
Responses
Response samples
- 200
[- {
- "title": "string",
- "startDate": "string",
- "contractDuration": "string"
}
]
Kündigung einleiten
Leitet die Kündigung für einen bestimmten Tarif ein
Request Body schema: application/jsonrequired
Die Kündigungsdaten
contract required | integer |
Array of objects | |
message | string Eine persönliche Nachricht zur Kündigung |
call | boolean Wahr, wenn der Kunde noch einmal angerufen werden möchte |
reason | integer ID des Kündigungsgrundes |
Responses
Request samples
- Payload
{- "contract": 0,
- "domains": [
- {
- "domain": "string",
- "transfer": true,
- "transit": true,
- "cancellationDate": 0
}
], - "message": "string",
- "call": true,
- "reason": 0
}
Response samples
- 403
{- "message": "string"
}
Neues Angebot anfordern
Über diese Operation kann ein neues Angebot angefordert werden
Request Body schema: application/jsonrequired
Die Angebotsanfrage; diese enthält Daten zu den angefragten Artikeln sowie notwendige Kundenstammdaten
required | object (OfferRequestRecipient) |
required | object (OfferRequestArticles) |
isTechnicalAdminForRecipient | boolean Default: false |
Responses
Request samples
- Payload
{- "recipient": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "country": "st"
}, - "articles": {
- "main": {
- "articleNumber": 0
}, - "additional": [
- {
- "articleNumber": 0
}
]
}, - "isTechnicalAdminForRecipient": false
}
Response samples
- 400
- 403
- 500
{- "message": "string"
}
Angebot versenden
Erzeugt ein Angebot aus einem Warenkorb und verschickt dieses als PDF per Mail an den angegebenen Empfänger.
path Parameters
cartIdentifier required | string Warenkorb ID |
Request Body schema: */*required
Empfänger
firstName required | string non-empty |
lastName required | string non-empty |
title | string non-empty |
salutation required | string Enum: "Herr" "Frau" "Divers" |
street required | string non-empty |
houseNumber required | string non-empty |
zip required | string non-empty |
city required | string non-empty |
company | string |
emailAddress required | string <email> |
country required | string = 2 characters iso country short code (ISO 3166-1 alpha-2) |
fax | string |
Responses
Warenkorbvorlage für Account-Ausgliederung erstellen
Erstellt eine Vorlage aus einem Warenkorb mit Account-Ausgliederung. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.
path Parameters
cartIdentifier required | string Warenkorb ID |
Responses
Response samples
- 200
{- "id": "string",
- "pinCode": 0,
- "expireDate": "string"
}
Überprüfe PIN-Code von Empfehlung
Überprüft den Pin-Code bei einer Empfehlung.
path Parameters
cartIdentifier required | string Warenkorb ID |
Request Body schema: */*required
pinCode | number Der 6-stellige Pin-Code |
sourceAccount | string Name des Projektes |
sourceReseller | string Name des Resellers |
Responses
Response samples
- 200
- 400
- 404
{- "message": "string"
}
Pre-Upgrade Check
Führt ein Check im Vorfeld aus, was sich bei einem Upgrade zu Artikel X ändern würde.
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
articleNumber required | string Artikelnummer |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
{- "ipChanges": true
}
Anmeldung am Partnerprogramm
Über diese Operation kann ein Kunde am Partnerprogramm angemeldet werden.
Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein API-Token über den /authenticate
-Endpunkt bezogen hat), ist die erneute Angabe von Kundenstammdaten im Request (hier über das customer
-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten werden zugunsten der bereits im System hinterlegten ignoriert.
Request Body schema: application/jsonrequired
Die Bestellanfrage; diese enthält notwendige Kundenstammdaten
object (HostingOrderCustomer) | |
object (Billing) |
Responses
Request samples
- Payload
{- "customer": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "country": "st"
}, - "billing": {
- "vatRegNumber": "string"
}
}
Response samples
- 400
- 403
- 500
{- "message": "string"
}
Bestellung eines Partnerbox
Über diese Operation kann ein neues Partnerbox bestellt werden.
Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein
API-Token über den /authenticate
-Endpunkt bezogen hat), ist die
erneute Angabe von Kundenstammdaten im Request (hier über das
customer
-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten
werden zugunsten der bereits im System hinterlegten ignoriert.
Request Body schema: application/jsonrequired
Die Bestellanfrage; diese enthält notwendige Kundenstammdaten
object (HostingOrderCustomer) | |
object (Billing) |
Responses
Request samples
- Payload
{- "customer": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "country": "st"
}, - "billing": {
- "vatRegNumber": "string"
}
}
Response samples
- 400
- 403
- 500
{- "message": "string"
}
Anmeldung am Partnerprogramm
Über diese Operation kann ein Kunde am Partnerprogramm angemeldet werden.
Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein API-Token über den /authenticate
-Endpunkt bezogen hat), ist die erneute Angabe von Kundenstammdaten im Request (hier über das customer
-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten werden zugunsten der bereits im System hinterlegten ignoriert.
Request Body schema: application/jsonrequired
Die Bestellanfrage; diese enthält notwendige Kundenstammdaten
object (HostingOrderCustomer) | |
object (Billing) |
Responses
Request samples
- Payload
{- "customer": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "country": "st"
}, - "billing": {
- "vatRegNumber": "string"
}
}
Response samples
- 400
- 403
- 500
{- "message": "string"
}
Bestellung eines Partnerbox
Über diese Operation kann ein neues Partnerbox bestellt werden.
Achtung: Ist der Nutzer der API als Kunde authentifiziert (d.h. ein
API-Token über den /authenticate
-Endpunkt bezogen hat), ist die
erneute Angabe von Kundenstammdaten im Request (hier über das
customer
-Attribut) nicht notwendig. Dennoch übergebene Kundenstammdaten
werden zugunsten der bereits im System hinterlegten ignoriert.
Request Body schema: application/jsonrequired
Die Bestellanfrage; diese enthält notwendige Kundenstammdaten
object (HostingOrderCustomer) | |
object (Billing) |
Responses
Request samples
- Payload
{- "customer": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "phone": "string",
- "country": "st"
}, - "billing": {
- "vatRegNumber": "string"
}
}
Response samples
- 400
- 403
- 500
{- "message": "string"
}
Suche nach Artikeln
Diese Operation liefert eine Liste von Artikeln zurück, die den angegebenen Suchparametern entsprechen.
query Parameters
fields | string Auszuliefernde Felder, als kommaseparierte Liste.
Beispiel: |
limit | integer Default: 20 Anzahl der zurückzuliefernden Artikel. |
offset | integer Default: 0 Offset für die Limitierung der Suchergebnisse |
articles | string Kommaseparierte-Liste von Artiklenummern |
Responses
Response samples
- 200
[- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
]
Artikeldetails
Artikeldetails auslesen
path Parameters
articleNumber required | string Artikelnummer |
query Parameters
fields | string Auszuliefernde Felder, als kommaseparierte Liste. Beispiel:
|
Responses
Response samples
- 200
{- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
Cross-Selling Optionen
Liefert alle möglichen Cross-Selling Artikel aus
path Parameters
articleNumber required | string Artikelnummer |
Responses
Response samples
- 200
[- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- { }
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
}
]
Warenkorb erstellen
Erstellt einen neuen Warenkorb
Request Body schema: */*optional
forcePartnerId | string Der Commission Code, welcher im weiteren Verlauf der Bestellstrecke nie wieder geändert werden kann. |
Responses
Response samples
- 201
{- "_id": "string",
- "items": [
- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
], - "jwt": "string",
- "promotionCode": "string",
- "newsletter": true,
- "offer": 0,
- "software": "string",
- "os": "string",
- "note": "string",
- "mysqlVersion": "string",
- "databasePartitionPercentage": 0,
- "sourceAccount": "string",
- "sourceReseller": "string",
- "agencyServer": 0,
- "stayOnHardware": true,
- "testing": true,
- "billingPeriod": 0,
- "customerBillingPeriod": 0,
- "commission": "string",
- "isCommissionLocked": true,
- "dueDate": 0,
- "projectName": "string",
- "projectPassword": "string",
- "contractPartner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "contactPerson": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "paymentSettings": { }
}
Warenkorb auslesen
Liefert einen bestehenden Warenkorb aus
path Parameters
cartIdentifier required | string Warenkorb ID |
Responses
Response samples
- 200
{- "_id": "string",
- "items": [
- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
], - "jwt": "string",
- "promotionCode": "string",
- "newsletter": true,
- "offer": 0,
- "software": "string",
- "os": "string",
- "note": "string",
- "mysqlVersion": "string",
- "databasePartitionPercentage": 0,
- "sourceAccount": "string",
- "sourceReseller": "string",
- "agencyServer": 0,
- "stayOnHardware": true,
- "testing": true,
- "billingPeriod": 0,
- "customerBillingPeriod": 0,
- "commission": "string",
- "isCommissionLocked": true,
- "dueDate": 0,
- "projectName": "string",
- "projectPassword": "string",
- "contractPartner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "contactPerson": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "paymentSettings": { }
}
Warenkorb bearbeiten
Aktualisiert einen bestehenden Warenkorb
path Parameters
cartIdentifier required | string Warenkorb ID |
Request Body schema: */*required
Der neue Warenkorb
_id | string |
Array of objects (Article) | |
jwt | string Set a new jwt for this cart. |
promotionCode | string |
newsletter | boolean |
offer | number |
software | string The software to install for the order. |
os | string The operating system to install for the order. |
note | string Store a customer note for the order. |
mysqlVersion | string The MySQL-Version to use for the order. |
databasePartitionPercentage | number The database partition ratio. Must be between 20 & 80 %. |
sourceAccount | string Only for upgrades/extract: The UID or name of the source account. |
sourceReseller | string Only for upgrades/extract: The UID or name of the source reseller. |
agencyServer | number The UID of the target agency server. |
stayOnHardware | boolean Keep your existing hardware |
testing | boolean Is order an testaccount? |
billingPeriod | number Billing period for main order item |
customerBillingPeriod | number Billing period for whole customer |
commission | string The code from the partnerprogram |
isCommissionLocked | boolean If enabled, nobody can remove/change the commission code. Default=false |
dueDate | number Unix timestamp of the due date of the order (wish order execution date). |
projectName | string Your description for the account. |
projectPassword | string Your password for the account. Will be encrypted after setting this value. |
object (Contact) | |
object (Contact) | |
object (Contact) | |
paymentSettings | object (PaymentSettings) |
Responses
Response samples
- 200
{- "_id": "string",
- "items": [
- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
], - "jwt": "string",
- "promotionCode": "string",
- "newsletter": true,
- "offer": 0,
- "software": "string",
- "os": "string",
- "note": "string",
- "mysqlVersion": "string",
- "databasePartitionPercentage": 0,
- "sourceAccount": "string",
- "sourceReseller": "string",
- "agencyServer": 0,
- "stayOnHardware": true,
- "testing": true,
- "billingPeriod": 0,
- "customerBillingPeriod": 0,
- "commission": "string",
- "isCommissionLocked": true,
- "dueDate": 0,
- "projectName": "string",
- "projectPassword": "string",
- "contractPartner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "contactPerson": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "paymentSettings": { }
}
Warenkorb aus Vorlage erstellen
Erstellt einen neuen Warenkorb aus einer Vorlage
path Parameters
cartIdentifier required | string Warenkorb ID |
Responses
Response samples
- 200
{- "_id": "string",
- "items": [
- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
], - "jwt": "string",
- "promotionCode": "string",
- "newsletter": true,
- "offer": 0,
- "software": "string",
- "os": "string",
- "note": "string",
- "mysqlVersion": "string",
- "databasePartitionPercentage": 0,
- "sourceAccount": "string",
- "sourceReseller": "string",
- "agencyServer": 0,
- "stayOnHardware": true,
- "testing": true,
- "billingPeriod": 0,
- "customerBillingPeriod": 0,
- "commission": "string",
- "isCommissionLocked": true,
- "dueDate": 0,
- "projectName": "string",
- "projectPassword": "string",
- "contractPartner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "contactPerson": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "paymentSettings": { }
}
Warenkorb-Position hinzufügen
Fügt ein neues Item in den Warenkorb
path Parameters
cartIdentifier required | string Warenkorb ID |
Request Body schema: */*required
Das hinzuzufügende Item
identifier required | string |
sourceIdentifier | string |
Responses
Response samples
- 200
{- "_id": "string",
- "items": [
- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
], - "jwt": "string",
- "promotionCode": "string",
- "newsletter": true,
- "offer": 0,
- "software": "string",
- "os": "string",
- "note": "string",
- "mysqlVersion": "string",
- "databasePartitionPercentage": 0,
- "sourceAccount": "string",
- "sourceReseller": "string",
- "agencyServer": 0,
- "stayOnHardware": true,
- "testing": true,
- "billingPeriod": 0,
- "customerBillingPeriod": 0,
- "commission": "string",
- "isCommissionLocked": true,
- "dueDate": 0,
- "projectName": "string",
- "projectPassword": "string",
- "contractPartner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "contactPerson": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "paymentSettings": { }
}
Warenkorb-Position löschen
Löscht ein Item aus dem Warenkorb
path Parameters
cartIdentifier required | string Warenkorb ID |
itemIdentifier required | string Item ID |
Responses
Response samples
- 200
{- "_id": "string",
- "items": [
- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
], - "jwt": "string",
- "promotionCode": "string",
- "newsletter": true,
- "offer": 0,
- "software": "string",
- "os": "string",
- "note": "string",
- "mysqlVersion": "string",
- "databasePartitionPercentage": 0,
- "sourceAccount": "string",
- "sourceReseller": "string",
- "agencyServer": 0,
- "stayOnHardware": true,
- "testing": true,
- "billingPeriod": 0,
- "customerBillingPeriod": 0,
- "commission": "string",
- "isCommissionLocked": true,
- "dueDate": 0,
- "projectName": "string",
- "projectPassword": "string",
- "contractPartner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "contactPerson": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "paymentSettings": { }
}
Warenkorb-Domainposition hinzufügen
Fügt eine Domain dem Warenkorb hinzu
path Parameters
cartIdentifier required | string Warenkorb ID |
Request Body schema: */*required
Die hinzuzufügende Domain
name required | string |
authCode | string |
transfer | boolean |
Responses
Response samples
- 200
{- "_id": "string",
- "items": [
- {
- "articleNumber": 0,
- "isOrderable": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "description": {
- "title": "string",
- "text": "string"
}, - "contract": {
- "contractDuration": 0,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "billing": {
- "billingPeriod": 0,
- "allowDurationModification": true,
- "unit": {
- "key": "string",
- "value": "string"
}
}, - "commission": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "articleGroups": [
- {
- "href": "string",
- "title": "string"
}
], - "benefits": {
- "server": {
- "hardware": {
- "maxWebspace": 0,
- "vCpuCores": 0,
- "vCpuUnits": 0,
- "vMaxMemory": 0,
- "vMaxTraffic": 0,
- "memoryLimit": 0,
- "maxExecutionTime": 0
}, - "backup": {
- "backupRange": 0
}, - "cronJob": {
- "max": 0,
- "minInterval": 0,
- "customInterval": true
}, - "ssl": {
- "inclusive": 0
}, - "ip": {
- "inclusive": 0
}, - "ftpUser": {
- "max": 0
}, - "ssh": {
- "active": true
}
}, - "domain": {
- "active": true,
- "inclusive": 0,
- "max": 0
}, - "subdomain": {
- "max": 0
}, - "mailAddress": {
- "max": 0,
- "maxAutoResponder": 0
}, - "mailBox": {
- "max": 0,
- "maxSize": 0,
- "spamDefender": {
- "key": 0
}
}, - "database": {
- "mysql": {
- "max": 0,
- "externalAccess": true
}
}, - "webFtp": {
- "active": true
}, - "webMail": {
- "active": true
}, - "dnsEditor": {
- "active": true,
- "editorA": true,
- "editorCNAME": true,
- "editorMX": true,
- "editorSRV": true,
- "editorTXT": true
}, - "firewallPlus": {
- "active": true
}, - "monitoringPlus": {
- "active": true
}, - "designSwitcher": {
- "active": true
}, - "versionManager": {
- "active": true
}, - "template": {
- "max": 0
}, - "snapshot": {
- "max": 0
}
}, - "configurationData": {
- "limits": {
- "max_cores": 0,
- "max_documents": 0,
- "memory": 0
}
}, - "articleOptions": {
- "mainCategory": {
- "subCategory": [
- {
- "default": true,
- "price": {
- "default": {
- "net": 0,
- "currency": "string",
- "setupFee": 0,
- "vat": 0
}
}, - "article": { }
}
]
}
}, - "crossSellingArticles": [
- {
- "href": "string",
- "articleNumber": 0,
- "sorting": 0
}
]
}
], - "jwt": "string",
- "promotionCode": "string",
- "newsletter": true,
- "offer": 0,
- "software": "string",
- "os": "string",
- "note": "string",
- "mysqlVersion": "string",
- "databasePartitionPercentage": 0,
- "sourceAccount": "string",
- "sourceReseller": "string",
- "agencyServer": 0,
- "stayOnHardware": true,
- "testing": true,
- "billingPeriod": 0,
- "customerBillingPeriod": 0,
- "commission": "string",
- "isCommissionLocked": true,
- "dueDate": 0,
- "projectName": "string",
- "projectPassword": "string",
- "contractPartner": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "contactPerson": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "billingAddress": {
- "firstName": "string",
- "lastName": "string",
- "title": "string",
- "salutation": "Herr",
- "street": "string",
- "houseNumber": "string",
- "zip": "string",
- "city": "string",
- "company": "string",
- "emailAddress": "user@example.com",
- "country": "st",
- "fax": "string"
}, - "paymentSettings": { }
}
Angebot versenden
Erzeugt ein Angebot aus einem Warenkorb und verschickt dieses als PDF per Mail an den angegebenen Empfänger.
path Parameters
cartIdentifier required | string Warenkorb ID |
Request Body schema: */*required
Empfänger
firstName required | string non-empty |
lastName required | string non-empty |
title | string non-empty |
salutation required | string Enum: "Herr" "Frau" "Divers" |
street required | string non-empty |
houseNumber required | string non-empty |
zip required | string non-empty |
city required | string non-empty |
company | string |
emailAddress required | string <email> |
country required | string = 2 characters iso country short code (ISO 3166-1 alpha-2) |
fax | string |
Responses
Warenkorbvorlage für Account-Ausgliederung erstellen
Erstellt eine Vorlage aus einem Warenkorb mit Account-Ausgliederung. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.
path Parameters
cartIdentifier required | string Warenkorb ID |
Responses
Response samples
- 200
{- "id": "string",
- "pinCode": 0,
- "expireDate": "string"
}
Überprüfe PIN-Code von Empfehlung
Überprüft den Pin-Code bei einer Empfehlung.
path Parameters
cartIdentifier required | string Warenkorb ID |
Request Body schema: */*required
pinCode | number Der 6-stellige Pin-Code |
sourceAccount | string Name des Projektes |
sourceReseller | string Name des Resellers |
Responses
Response samples
- 200
- 400
- 404
{- "message": "string"
}
Promotioncode validieren
Validiert einen Promotion-Code für eine Bestellung
path Parameters
promotionCode required | string PromotionCode |
Request Body schema: */*required
Die zu bestellenden Artikel und ob der Hauptartikel einen monatliche Abrechnungsperiode hat. Nur die Artikelnummer wird zwingend benötigt.
Array of objects (Article) | |
monthly | boolean |
Responses
Konvertiert Bankdaten in das IBAN / BIC Format
Liefert zu einer gegebenen Kontonummer und BLZ die entsprechende IBAN und BIC
Request Body schema: application/jsonrequired
Die zu konvertierenden Bankdaten
bankAccountNumber | string Die zu konvertierende Kontonummer |
bankCode | string Die zu konvertierende BLZ |
Responses
Request samples
- Payload
{- "bankAccountNumber": "string",
- "bankCode": "string"
}
Response samples
- 200
{ }
Registriert einen neuen Webhook
Registriert einen neuen Webhook für einen bestimmten Login
Request Body schema: application/jsonrequired
Die Webhook-Konfiguration
url required | string <uri> |
method required | string Enum: "GET" "POST" "PUT" "DELETE" "PATCH" |
eventType required | string Value: "DOMAIN_REGISTRATION_STATUS" |
headers | object |
object (WebhookParameter) |
Responses
Request samples
- Payload
{- "method": "GET",
- "eventType": "DOMAIN_REGISTRATION_STATUS",
- "headers": { },
- "parameters": {
- "key": "string",
- "value": "string"
}
}
Response samples
- 200
{- "uid": "string",
- "method": "GET",
- "eventType": "DOMAIN_REGISTRATION_STATUS",
- "headers": { },
- "parameters": {
- "key": "string",
- "value": "string"
}
}
Liefert einen bestimmten Webhook
Liefert die Daten eines bestimmten Webhooks
path Parameters
webhookIdentifier required | string Die ID des Webhooks |
Responses
Response samples
- 200
- 403
{- "uid": "string",
- "method": "GET",
- "eventType": "DOMAIN_REGISTRATION_STATUS",
- "headers": { },
- "parameters": {
- "key": "string",
- "value": "string"
}
}
Updated den gewünschten Webhook
Updated die Daten des gewünschten Webhooks
path Parameters
webhookIdentifier required | string Die ID des Webhooks |
Request Body schema: application/jsonrequired
Die Webhook-Konfiguration
url required | string <uri> |
method required | string Enum: "GET" "POST" "PUT" "DELETE" "PATCH" |
eventType required | string Value: "DOMAIN_REGISTRATION_STATUS" |
headers | object |
object (WebhookParameter) |
Responses
Request samples
- Payload
{- "method": "GET",
- "eventType": "DOMAIN_REGISTRATION_STATUS",
- "headers": { },
- "parameters": {
- "key": "string",
- "value": "string"
}
}
Response samples
- 200
- 403
{- "uid": "string",
- "method": "GET",
- "eventType": "DOMAIN_REGISTRATION_STATUS",
- "headers": { },
- "parameters": {
- "key": "string",
- "value": "string"
}
}
Kündigung einleiten
Leitet die Kündigung für einen bestimmten Tarif ein
Request Body schema: application/jsonrequired
Die Kündigungsdaten
contract required | integer |
Array of objects | |
message | string Eine persönliche Nachricht zur Kündigung |
call | boolean Wahr, wenn der Kunde noch einmal angerufen werden möchte |
reason | integer ID des Kündigungsgrundes |
Responses
Request samples
- Payload
{- "contract": 0,
- "domains": [
- {
- "domain": "string",
- "transfer": true,
- "transit": true,
- "cancellationDate": 0
}
], - "message": "string",
- "call": true,
- "reason": 0
}
Response samples
- 403
{- "message": "string"
}
PDF - Vertrags-PDF hochladen
Lädt einen eigens geschlossenen Vertrag hoch. Dabei werden nur PDF Dateien unterstützt
Request Body schema: application/jsonrequired
name required | string |
pdf required | string <binary> |
Responses
Request samples
- Payload
{- "name": "string",
- "pdf": "string"
}
Response samples
- 201
{- "name": "string",
- "creationDate": "string"
}
Vertragskonfiguration - Speichert eine Vertrags-Konfiguration
Speichert eine Vertrags-Konfiguration
Request Body schema: application/jsonrequired
name required | string |
description | string |
config | object |
creationDate | string <datetime> Das Erstelldatum im UTC Format |
Responses
Request samples
- Payload
{- "name": "string",
- "description": "string",
- "config": { },
- "creationDate": "string"
}
Response samples
- 201
{- "name": "string",
- "description": "string",
- "config": { },
- "creationDate": "string"
}
Vertragskonfiguration - Liefert eine bestimmte Vertrags-Konfiguration
Liefert eine bestimmte Vertrags-Konfiguration des Kunden
path Parameters
contractPresetIdentifier required | string Die ID der Vertrags-Konfiguration |
Responses
Response samples
- 200
- 403
{- "name": "string",
- "description": "string",
- "config": { },
- "creationDate": "string"
}
Vertrag - Liefert alle hinterlegten Verträge
Liefert die Daten aller hinterlegten Verträge
Responses
Response samples
- 200
[- {
- "creationDate": "string",
- "tom": { },
- "client": { },
- "recipient": { },
- "html": "string",
- "confirmationDate": "string",
- "sentDate": "string",
- "reminderSentDate": "string",
- "isPartnerContract": true,
- "contractSigner": "string"
}
]
Vertrag - Vertrag anlegen
Legt einen Vertrag mit den angegebenen Daten an
Request Body schema: application/jsonrequired
Die Vertragsdaten
html required | string |
tom required | string Die ID des verwendeten TOMs |
client required | string Der Auftraggeber des Vertrags in Form einer ID eines bereits angelegten DSGVO Adressdatensatzes |
recipient required | string Der Auftragnehmer des Vertrags in Form einer ID eines bereits angelegten DSGVO Adressdatensatzes |
isPartnerContract | boolean Default: false |
Responses
Request samples
- Payload
{- "html": "string",
- "tom": "string",
- "client": "string",
- "recipient": "string",
- "isPartnerContract": false
}
Response samples
- 201
{- "creationDate": "string",
- "tom": { },
- "client": { },
- "recipient": { },
- "html": "string",
- "confirmationDate": "string",
- "sentDate": "string",
- "reminderSentDate": "string",
- "isPartnerContract": true,
- "contractSigner": "string"
}
Vertrag - Liefert einen bestimmten Vertrag
Liefert die Daten eines bestimmten Vertrages
path Parameters
contractIdentifier required | string Die ID des Vertrages |
Responses
Response samples
- 200
- 403
{- "creationDate": "string",
- "tom": { },
- "client": { },
- "recipient": { },
- "html": "string",
- "confirmationDate": "string",
- "sentDate": "string",
- "reminderSentDate": "string",
- "isPartnerContract": true,
- "contractSigner": "string"
}
Vertrag - Verschickt eine E-Mail mit PDF an den Empfänger des Vertrags
Verschickt eine E-Mail mit dem Vertrag in PDF-Form an den Empfänger des Vertrags. Die E-Mail enthält zudem einen Bestätigungslink, über den dem Vertrag digital zugestimmt werden kann.
path Parameters
contractIdentifier required | string Die ID des Vertrages |
Request Body schema: */*optional
mailTo | string Falls eine vom hinterlegten Kontakt abweichende Empfänger E-Mail Adresse angegeben werden soll |
content | string Falls ein spezifischer Inhalt anstelle des Standard E-Mail Inhalts versendet werden soll. Dabei kann mit Hilfe der Zeichenkette {{link}} der Bestätigungslink eingefügt werden. |
Responses
Response samples
- 403
{- "message": "string"
}
Vertrag - Akzeptiert den Vertrag
Akzeptiert den Vertrag und verschickt diesen bei Bedarf als PDF via E-Mail an beide Vertragspartner.
path Parameters
contractIdentifier required | string Die ID des Vertrages |
Request Body schema: */*optional
boolean Wahr, wenn der Vertrag zusätzlich an beide Vertragspartner versendet werden soll | |
contractSigner required | string Der vollständige Name des Vertragsunterzeichners |
Responses
Response samples
- 400
- 403
{- "message": "string"
}
Kontakt - Liefert alle hinterlegten Adressdaten
Liefert die Daten aller hinterlegten Adressdaten
query Parameters
type | string Filterung der Kontakte nach einem bestimmten Typ |
Responses
Response samples
- 200
[- {
- "name": "string",
- "street": "string",
- "houseNumber": "string",
- "zipCode": "string",
- "city": "string",
- "mail": "string",
- "creationDate": "string",
- "type": "string"
}
]
Kontakt - Adressdaten anlegen
Legt einen Adressdatensatz mit den angegebenen Daten an
Request Body schema: application/jsonrequired
Die Adressdaten
name required | string |
street required | string |
houseNumber required | string |
zipCode required | string |
city required | string |
mail required | string |
creationDate | string <datetime> Das Erstelldatum im UTC Format |
type | string Ein frei wählbarer Typ, der optional angegeben werden kann. |
Responses
Request samples
- Payload
{- "name": "string",
- "street": "string",
- "houseNumber": "string",
- "zipCode": "string",
- "city": "string",
- "mail": "string",
- "creationDate": "string",
- "type": "string"
}
Response samples
- 201
{- "name": "string",
- "street": "string",
- "houseNumber": "string",
- "zipCode": "string",
- "city": "string",
- "mail": "string",
- "creationDate": "string",
- "type": "string"
}
Kontakt - Liefert einen bestimmten Adressdatensatz
Liefert die Daten eines bestimmten Adressdatensatzes
path Parameters
contactIdentifier required | string Die ID des Adressdatensatzes |
Responses
Response samples
- 200
- 403
{- "name": "string",
- "street": "string",
- "houseNumber": "string",
- "zipCode": "string",
- "city": "string",
- "mail": "string",
- "creationDate": "string",
- "type": "string"
}
TOM - TOM anlegen
Legt einen TOM mit den angegebenen Daten an
Request Body schema: application/jsonrequired
Die Daten des Toms
content | string |
creationDate | string <datetime> Das Erstelldatum im UTC Format |
Responses
Request samples
- Payload
{- "content": "string",
- "creationDate": "string"
}
Response samples
- 201
{- "content": "string",
- "creationDate": "string"
}
Support-Tickets auslesen
Listet Support-Tickets eines Kunden auf
path Parameters
customerNumber required | number Die Kundennummer |
query Parameters
sortDirection | string Enum: "ASC" "DESC" Die Sortierungsrichtung |
status | string Enum: "open" "in-progress" "feedback" "information" "answered" "done" Der Ticketstatus |
summaryOnly | boolean Kurzfassung der Tickets ohne Antworten |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "subject": "string",
- "message": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "status": "open",
- "publicStatus": "open",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string",
- "isMittwaldAuthor": true
}, - "account": {
- "uid": 0,
- "name": "string"
}, - "customer": {
- "customernumber": 0
}, - "answersCount": 0,
- "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
]
Neues Support-Ticket
Erstellt ein neues Support-Ticket
Request Body schema: application/jsonrequired
Das neue Support-Ticket
subject required | string |
message required | string |
object | |
object | |
required | object |
Array of objects (FileMeta) |
Responses
Request samples
- Payload
{- "subject": "string",
- "message": "string",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string",
- "notify": true
}, - "account": {
- "name": "string"
}, - "customer": {
- "customernumber": 0
}, - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "name": "string"
}
]
}
Response samples
- 201
{- "uid": 0,
- "subject": "string",
- "message": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "status": "open",
- "publicStatus": "open",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string",
- "isMittwaldAuthor": true
}, - "account": {
- "uid": 0,
- "name": "string"
}, - "customer": {
- "customernumber": 0
}, - "answersCount": 0,
- "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Ticket auslesen
Liefert das angeforderte Ticket mit Metainformationen zurück
path Parameters
ticketIdentifier required | string Die Ticket-ID |
Responses
Response samples
- 200
{- "uid": 0,
- "subject": "string",
- "message": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "status": "open",
- "publicStatus": "open",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string",
- "isMittwaldAuthor": true
}, - "account": {
- "uid": 0,
- "name": "string"
}, - "customer": {
- "customernumber": 0
}, - "answersCount": 0,
- "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Ticketantworten auslesen
Liefert alle Antworten auf ein bestimmtes Support-Ticket zurück
path Parameters
ticketIdentifier required | string Die Ticket-ID |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "message": "string",
- "createdAt": "string",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string",
- "isMittwaldAuthor": true
}, - "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
]
Ticketantwort erstellen
Erstellt eine neue Antwort auf ein Support-Ticket
path Parameters
ticketIdentifier required | string Die Ticket-ID |
Request Body schema: application/jsonrequired
Die neue Antwort
message required | string |
object | |
object | |
Array of objects (FileMeta) |
Responses
Request samples
- Payload
{- "message": "string",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string"
}, - "customer": {
- "customernumber": 0
}, - "files": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "type": "string",
- "name": "string"
}
]
}
Response samples
- 201
{- "uid": 0,
- "message": "string",
- "createdAt": "string",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string",
- "isMittwaldAuthor": true
}, - "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Ticket schließen
Schließt das angegebene Ticket
path Parameters
ticketIdentifier required | string Die Ticket-ID |
Responses
Response samples
- 200
{- "uid": 0,
- "message": "string",
- "createdAt": "string",
- "author": {
- "name": "string",
- "email": "user@example.com",
- "telephone": "string",
- "isMittwaldAuthor": true
}, - "files": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Change account password
path Parameters
account required | string A account ID or name |
Request Body schema: application/jsonrequired
password required | string |
Responses
Request samples
- Payload
{- "password": "string"
}
Response samples
- 400
- 403
- 500
{- "errors": [
- "string"
]
}
Change customer password
path Parameters
customerNumber required | string Customer number |
Request Body schema: application/jsonrequired
password required | string |
Responses
Request samples
- Payload
{- "password": "string"
}
Response samples
- 400
- 403
- 500
{- "errors": [
- "string"
]
}
Initiate a new MFA action
This resource can be used to initiate a new MFA action. The resulting token can be used to verify the MFA action.
header Parameters
X-JWT | string Can be used to authenticate an already existing user. If set, must contain a token issued by this very service. |
Request Body schema: application/jsonoptional
The MFA action request
Responses
Request samples
- Payload
{ }
Response samples
- 200
{- "barcode": "string",
- "url": "otpauth://totp/mStudio:test@gmail.com?algorithm=SHA1&digits=6&issuer=mStudio&period=30&secret=HTXT7KJFVNAJUPYWQRWMNVQE5AF5YZI2"
}
Confirm your new multi factor.
This action returns recovery codes you can use to authenticate once.\nKeep track of them carefully. Don not lose them.\n
Request Body schema: application/jsonrequired
multiFactorCode required | string [ 6 .. 16 ] characters Multi Factor Code to confirm MFA. |
Responses
Request samples
- Payload
{- "multiFactorCode": 123456
}
Response samples
- 200
- 400
{- "recoveryCodesList": [
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234
]
}
Reset the recovery codes for your multi factor authentication.
Request Body schema: application/jsonrequired
multiFactorCode required | string [ 6 .. 16 ] characters Multi Factor Code to authorize your request. |
Responses
Request samples
- Payload
{- "multiFactorCode": 123456
}
Response samples
- 200
- 400
{- "recoveryCodesList": [
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234,
- 1234123412341234
]
}
Disable Multi Factor Authentication.
Request Body schema: application/jsonrequired
multiFactorCode required | string [ 6 .. 16 ] characters Multi Factor Code to confirm MFA. |
Responses
Request samples
- Payload
{- "multiFactorCode": "string"
}
Response samples
- 400
{- "message": "string",
- "type": "string"
}
Get your current multi factor auth secret.
query Parameters
multiFactorCode | string [ 6 .. 16 ] characters Multi Factor Code to confirm MFA. |
Responses
Response samples
- 200
{- "barcode": "string",
- "url": "otpauth://totp/mStudio:test@gmail.com?algorithm=SHA1&digits=6&issuer=mStudio&period=30&secret=HTXT7KJFVNAJUPYWQRWMNVQE5AF5YZI2"
}
Create feedback
path Parameters
customerNumber required | integer Customer number |
Request Body schema: application/jsonrequired
Feedback data
vote | integer Enum: 1 2 3 4 5 1 means bad, ranges to 5 means best |
message | string |
notNow | boolean |
Responses
Request samples
- Payload
{- "vote": 1,
- "message": "string",
- "notNow": true
}
Response samples
- 201
- 400
- 403
- 404
- 422
- 425
- 429
- 500
{- "message": "string"
}
Subdomains eines Accounts auslesen
Liefert alle verfügbaren Subdomains eines Accounts
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
domainIdentifier required | string Vollständiger Name der Domain |
Responses
Response samples
- 200
[- {
- "uid": 0,
- "fullName": "string",
- "target": "string",
- "name": "string"
}
]
Subdomain erstellen
Erstellt eine neue Subdomain
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
domainIdentifier required | string Vollständiger Name der Domain |
Request Body schema: application/jsonrequired
Daten der neuen Subdomain
name required | string |
target | string |
Responses
Request samples
- Payload
[- {
- "name": "string",
- "target": "string"
}
]
Response samples
- 201
[- {
- "uid": 0,
- "fullName": "string",
- "target": "string",
- "name": "string"
}
]
Subdomain auslesen
Liefert eine spezifische Subdomain
path Parameters
accountIdentifier required | string Name oder ID eines Accounts |
domainIdentifier required | string Vollständiger Name der Domain |
subdomainIdentifier required | string Vollständiger Name der Subdomain |
Responses
Response samples
- 200
{- "uid": 0,
- "fullName": "string",
- "target": "string",
- "name": "string"
}
Creates a new service token
This operation can be used to sign a new service token. Note that this
endpoint can only be used to create pri/svc/
users (that means
service users, not regular users!) and include
privileges may only
contain pri/cap/
privileges.
header Parameters
X-JWT required | string The authentication header of an already existing user. Must contain a JWT signed by this service for any member of the Mittwald security team. |
Request Body schema: application/jsonrequired
The JWT claims to sign
sub required | string Token subject |
includes | Array of strings Included subjects |
Responses
Request samples
- Payload
{- "sub": "string",
- "includes": [
- "string"
]
}
Response samples
- 200
{- "sub": "string",
- "iat": 0,
- "exp": 0,
- "includes": [
- "string"
]
}
Set blocked bots belonging to an Account.
path Parameters
accountIdentifier required | string ID of the Account to list blocked bots for. |
Request Body schema: application/jsonrequired
Blocked Bot List
blockedBots | Array of strings or null (BlockedBots) unique |
Responses
Request samples
- Payload
{- "blockedBots": [
- "string"
]
}
Response samples
- 204
- 403
- 404
- 422
- 429
- 500
{- "message": "string"
}