Skip to main content

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.

Authentifizierung

Rate Limiting

Caching

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.

Authentifizierung

Authentifizierung

Auslesen von erstellten Application-Tokens

Diese Operation liefert alle bisher erstellten Application-Tokens aus.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Hinterlegen von neuen Application-Tokens

Diese Operation ermöglicht es neue Application-Tokens zu hinterlegen.

Request Body schema: application/json
required

Das Token sowie eine optionale Beschreibung

description
required
string

Responses

Request samples

Content type
application/json
{
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "crdate": "2019-08-24T14:15:22Z",
  • "token": "pa$$word",
  • "description": "string"
}

get new access token

get new access token

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

Löschen von Application-Tokens

Diese Operation ermöglicht es Application-Tokens zu löschen.

path Parameters
uuid
required
string

Die UUID des Tokens

Responses

User-Name des aktuellen Logins

Ließt aus dem JWT den aktuellen User-Namen aus

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "type": "CUS",
  • "createdAt": 0
}

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/json
required

The JWT to verify

string (EncodedJwt)

An encoded and signed JWT

Responses

Request samples

Content type
application/json
"string"

Accounts

Webhosting-Accounts

Account auslesen

Diese Operation liest genaue Daten eines einzelnen Accounts aus

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "customerNumber": 0,
  • "name": "string",
  • "activateShell": true,
  • "description": "string",
  • "disabled": true,
  • "ipAddresses": [
    ],
  • "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

Content type
application/json
{
  • "name": "string",
  • "active": true
}

Response samples

Content type
application/json
{
  • "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. &installPath=%2Fhtml%2Ftypo3)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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/json
required

Request Body des Update-Prozesses

version
required
string

Major & Minor Versions-Nummer, z.B. "8.1"

Responses

Request samples

Content type
application/json
{
  • "version": "string"
}

Response samples

Content type
application/json
{
  • "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 {customerNumber} gehören.'

owned
boolean
Default: true

Dieser Parameter steuert, ob Accounts zurückgeliefert werden sollen, die direkt der Kundennummer {customerNumber} gehören. Dieser Parameter hat standardmäßig den Wert true; über den Wert false können in Kombination mit dem Parameter advised ausschließlich Accounts abgefragt werden, für die eine Verwaltungsfreigabe besteht.

fields
string

Felder die beim Ergebnis inkludiert werden

Responses

Response samples

Content type
application/json
[
  • {
    }
]

getAccountVisitorStatistics

Liefert Statistiken zu Besucherzahlen eines Projekts

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "last_information_at": 0,
  • "limit": {
    },
  • "name": "string",
  • "skip_information": true,
  • "throttling": {
    },
  • "grace_period": { },
  • "visitor_information": {
    }
}

getAccountStatistics

Liefert Statistiken zur Speicherplatzauslastung eines Projekts

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "meta": {
    }
}

Reseller

Reseller-Tarife

Reseller auslesen

Diese Operation liest genaue Daten eines einzelnen Resellers aus

path Parameters
resellerIdentifier
required
string

Name oder ID eines Resellers

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "name": "string",
  • "customerNumber": 0
}

Database

Datenbanken

Datenbanktypen

Datenbanktypen auslesen

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Domains

Domaindaten

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

Content type
application/json
[
  • {
    }
]

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/json
required

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

Content type
application/json
{
  • "handles": {
    },
  • "sld": "string",
  • "tld": "string",
  • "domainNameTransfer": {
    },
  • "external": true,
  • "target": "string"
}

Response samples

Content type
application/json
[
  • {
    }
]

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

Content type
application/json
[
  • {
    }
]

Domain löschen/kündigen

Löscht bzw. kündigt eine bestehende Domain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

Auth-Code einer Domain auslesen

Liefert den Auth-Code einer Domain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

Response samples

Content type
application/json
{
  • "auth-code": "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

Content type
application/json
[
  • {
    }
]

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/json
required

Daten der neuen Subdomain

Array
name
required
string
target
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Subdomain löschen

Löscht eine bestehende Subdomain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

Domainverfügbarkeit prüfen

Prüft ob eine Domain verfügbar ist

path Parameters
domainIdentifier
required
string

Domain

Responses

Toplevel-Domains auslesen

Liefert alle möglichen Topleveldomains aus

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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

Content type
application/json
{
  • "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

Content type
application/json
[
  • {
    }
]

Get dns overview

Get the data for the dns overview

path Parameters
accountIdentifier
required
string

Account name or uid.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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

Content type
application/json
[
  • {
    }
]

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/json
required

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

Content type
application/json
{
  • "mx": [
    ],
  • "target": "mittwald.de",
  • "ns": [
    ],
  • "txt": [
    ],
  • "srv": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Mailadressen

Mailadressen

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

Content type
application/json
[
  • {
    }
]

Notification

Notifications

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

Content type
application/json
{
  • "notifications": [
    ],
  • "unreadCount": 0
}

Notifications löschen

Löscht alle Notifications des eingeloggten Users

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Software

Softwaremanager

Unterstützte Software auslesen

Liest die mögliche Software für eine Neu-Bestellung aus

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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. &installPath=%2Fhtml%2Ftypo3)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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/json
required

Request Body des Update-Prozesses

version
required
string

Major & Minor Versions-Nummer, z.B. "8.1"

Responses

Request samples

Content type
application/json
{
  • "version": "string"
}

Response samples

Content type
application/json
{
  • "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

Content type
application/json
{
  • "uid": 0,
  • "software": {
    },
  • "version": {
    },
  • "installPath": "string",
  • "frontendUrl": "string",
  • "backendUrl": "string",
  • "documentRoot": "string",
  • "status": "creating",
  • "database": {
    }
}

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

Content type
application/json
[
  • {
    }
]

Kunden

Kunden- und Vertragsdaten

Details zu dem aktuellem Kunden

Liefert Details zum aktuellen Kunden.

Responses

Response samples

Content type
application/json
{
  • "customerNumber": 0,
  • "prospect": true
}

Details zum aktuell eingeloggten Kunden

Liefert Details zum aktuell eingeloggten Kunden

Responses

Response samples

Content type
application/json
{
  • "customerNumber": 0
}

Kundendetails auslesen

Diese Ressource enthält Detailinformationen zu einem bestimmten Kunden.

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "customerNumber": 0,
  • "prospect": true
}

Vertragspartner auslesen

Diese Operation liefert Details zum Vertragspartner eines Kunden zurück

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Vertragspartner ändern

Über diese Operation können die Vertragspartnerdaten eines Kunden geändert werden

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json
required

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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

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

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

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/json
required

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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Zahlungseinstellungen auslesen

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{ }

Zahlungseinstellungen ändern

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json
required

Neue Zahlungseinstellungen

object (CustomerPaymentSettings)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{ }

Rechungsempfänger auslesen

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Rechnungsempfänger ändern

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json
required

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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "title": "string",
  • "salutation": "string",
  • "company": "string",
  • "address": {
    },
  • "contact": {
    }
}

Rechnungsempfänger eines Kunden zurücksetzen

Diese Operation setzt den Rechnungsempfänger eines Kunden auf den Vertragspartner zurück

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Rechungseinstellungen auslesen

path Parameters
customerNumber
required
integer

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "vatID": "string",
  • "postalInvoices": true
}

Rechnungseinstellungen ändern

path Parameters
customerNumber
required
integer

Kundennummer

Request Body schema: application/json
required

Neue Zahlungseinstellungen

vatID
string
postalInvoices
required
boolean

Responses

Request samples

Content type
application/json
{
  • "vatID": "string",
  • "postalInvoices": true
}

Response samples

Content type
application/json
{
  • "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

Content type
application/json
[
  • {
    }
]

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 {customerNumber} gehören.'

owned
boolean
Default: true

Dieser Parameter steuert, ob Accounts zurückgeliefert werden sollen, die direkt der Kundennummer {customerNumber} gehören. Dieser Parameter hat standardmäßig den Wert true; über den Wert false können in Kombination mit dem Parameter advised ausschließlich Accounts abgefragt werden, für die eine Verwaltungsfreigabe besteht.

fields
string

Felder die beim Ergebnis inkludiert werden

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Details zu einer gebuchten Leistung

Liefert Details zu einer gebuchten Leistung.

path Parameters
customerNumber
required
integer

Kundennummer

benefit
required
string

Leistung

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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

Content type
application/json
{
  • "signed": true,
  • "iframeUrl": "string"
}

Hole Einstellungen eines Kunden.

Hole alle vom Kunden setzbare Einstellungen.

path Parameters
customerNumber
required
integer

Die Kundennummer

Responses

Response samples

Content type
application/json
{
  • "customerNumber": 0,
  • "language": "string"
}

Setze Einstellungen des Kunden.

Setze die Kunden Einstellungen, wie z.B. Sprache.

path Parameters
customerNumber
required
integer

Die Kundennummer

Request Body schema: application/json
required

Die zu ändernden Einstellungen.

language
required
string

Responses

Request samples

Content type
application/json
{
  • "language": "string"
}

Response samples

Content type
application/json
{
  • "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 (application/json oder application/pdf)

Responses

Response samples

Content type
application/json
{
  • "invoiceNumber": 0,
  • "invoicedAt": "string",
  • "netTotal": {
    },
  • "grossTotal": {
    },
  • "items": [
    ]
}

Zahlungseingänge einer Rechnung

Liest erfasste Buchungen zu einer bestimmten Rechnung aus

path Parameters
invoiceNumber
required
integer

Rechnungsnummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Flags (z.B. DSGVO)

Flags (z.B. DSGVO)

path Parameters
flagId
required
string

Responses

Response samples

Content type
application/json
{
  • "signed": "string"
}

Verträge

Verträge

Verträge auslesen

Liefert alle Verträge eines Kunden

path Parameters
customerNumber
required
integer

Die Kundennummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

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

Content type
application/json
[
  • {
    }
]

Kündigung einleiten

Leitet die Kündigung für einen bestimmten Tarif ein

Request Body schema: application/json
required

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

Content type
application/json
{
  • "contract": 0,
  • "domains": [
    ],
  • "message": "string",
  • "call": true,
  • "reason": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Kündigungsbestätigung erneut senden

Löst eine erneute Versendung der Kündigungsbestätigung per E-Mail aus

path Parameters
cancellationIdentifier
required
integer

Die ID der bereits eingeleiteten Kündigung

Responses

Angebote

Angebotsmanagement

Neues Angebot anfordern

Über diese Operation kann ein neues Angebot angefordert werden

Request Body schema: application/json
required

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

Content type
application/json
{
  • "recipient": {
    },
  • "articles": {
    },
  • "isTechnicalAdminForRecipient": false
}

Response samples

Content type
application/json
{
  • "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 erstellen

Erstellt eine Vorlage aus einem Warenkorb. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": { }
}

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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "message": "string"
}

Bestellungen

Bestellung neuer Artikel

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

Content type
application/json
{
  • "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/json
required

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "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/json
required

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Partner

Partnerprogramm & Partnerbox

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/json
required

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "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/json
required

Die Bestellanfrage; diese enthält notwendige Kundenstammdaten

object (HostingOrderCustomer)
object (Billing)

Responses

Request samples

Content type
application/json
{
  • "customer": {
    },
  • "billing": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Artikel

Artikelverwaltung

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: articleNumber,description

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

Content type
application/json
[
  • {
    }
]

Artikeldetails

Artikeldetails auslesen

path Parameters
articleNumber
required
string

Artikelnummer

query Parameters
fields
string

Auszuliefernde Felder, als kommaseparierte Liste. Beispiel: articleNumber,description

Responses

Response samples

Content type
application/json
{
  • "articleNumber": 0,
  • "isOrderable": true,
  • "price": {
    },
  • "description": {
    },
  • "contract": {
    },
  • "billing": {
    },
  • "commission": {
    },
  • "articleGroups": [
    ],
  • "benefits": {
    },
  • "configurationData": {
    },
  • "articleOptions": {
    },
  • "crossSellingArticles": [
    ]
}

Cross-Selling Optionen

Liefert alle möglichen Cross-Selling Artikel aus

path Parameters
articleNumber
required
string

Artikelnummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Artikel Upgrades

Liefert alle möglichen Upgrades für diesen Artikel aus

path Parameters
articleNumber
required
string

Artikelnummer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Warenkorb

Bestellung neuer Artikel

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

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": { }
}

Warenkorb auslesen

Liefert einen bestehenden Warenkorb aus

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "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

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": { }
}

Warenkorb aus Vorlage erstellen

Erstellt einen neuen Warenkorb aus einer Vorlage

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": { }
}

Warenkorb löschen

Löscht einen bestehenden Warenkorb

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

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

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "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

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "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

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": { }
}

Bestellung abschließen

Erzeugt eine Bestellung aus einem Warenkorb

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: */*
optional
pinCode
number

Der PinCode, der für den Kundennummer-Wechsel Ihres Bestandspaketes notwendig ist.

Responses

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 erstellen

Erstellt eine Vorlage aus einem Warenkorb. Vorlagen können nicht bearbeitet werden. Die Vorlage enthält keine Personenbezogenendaten.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Responses

Response samples

Content type
application/json
{
  • "_id": "string",
  • "items": [
    ],
  • "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": {
    },
  • "contactPerson": {
    },
  • "billingAddress": {
    },
  • "paymentSettings": { }
}

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

Content type
application/json
{
  • "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

Content type
application/json
{
  • "message": "string"
}

SMS-Verifizierung starten

Fragt eine SMS-Verifizierung an. Der Empfänger erhält eine SMS mit einem Code.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: */*
required
recipient
string

Die Mobilfunknummer des Empfängers

Responses

SMS-Verifizierung bestätigen

Bestätigt die SMS-Verifizierung.

path Parameters
cartIdentifier
required
string

Warenkorb ID

Request Body schema: */*
required

Der Verifizierungcode

verificationCode
string

Responses

PromotionCode

Gutscheincodes

Promotioncode auslesen

Liefert PromotionCode-Details aus

path Parameters
promotionCode
required
string

PromotionCode

Responses

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

Virt

V/D-Root Server

Root-Server Betriebssysteme

Liefert die zur Installation vorhandenen Root-Server Betriebssysteme

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "identifier": "string",
  • "pleskRequired": true,
  • "pleskVersion": 0
}

Bankdaten

Bankdaten

Konvertiert Bankdaten in das IBAN / BIC Format

Liefert zu einer gegebenen Kontonummer und BLZ die entsprechende IBAN und BIC

Request Body schema: application/json
required

Die zu konvertierenden Bankdaten

bankAccountNumber
string

Die zu konvertierende Kontonummer

bankCode
string

Die zu konvertierende BLZ

Responses

Request samples

Content type
application/json
{
  • "bankAccountNumber": "string",
  • "bankCode": "string"
}

Response samples

Content type
application/json
{ }

Webhooks

Webhooks

Liefert alle hinterlegten Webhooks

Liefert alle hinterlegten Webhooks eines bestimmten Logins

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Registriert einen neuen Webhook

Registriert einen neuen Webhook für einen bestimmten Login

Request Body schema: application/json
required

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

Content type
application/json
{
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "uid": "string",
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Liefert einen bestimmten Webhook

Liefert die Daten eines bestimmten Webhooks

path Parameters
webhookIdentifier
required
string

Die ID des Webhooks

Responses

Response samples

Content type
application/json
{
  • "uid": "string",
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

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/json
required

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

Content type
application/json
{
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "uid": "string",
  • "method": "GET",
  • "eventType": "DOMAIN_REGISTRATION_STATUS",
  • "headers": { },
  • "parameters": {
    }
}

Löscht einen Webhook

Löscht den gegebenen Webhook

path Parameters
webhookIdentifier
required
string

Die ID des Webhooks

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Kündigung

Kündigung

Kündigung einleiten

Leitet die Kündigung für einen bestimmten Tarif ein

Request Body schema: application/json
required

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

Content type
application/json
{
  • "contract": 0,
  • "domains": [
    ],
  • "message": "string",
  • "call": true,
  • "reason": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Kündigungsbestätigung erneut senden

Löst eine erneute Versendung der Kündigungsbestätigung per E-Mail aus

path Parameters
cancellationIdentifier
required
integer

Die ID der bereits eingeleiteten Kündigung

Responses

DSGVO-Verträge

DSGVO-Verträge

PDF - Liefert die Daten der Vertrags-PDFs

Liefert die Daten der vom Kunden manuell hochgeladenen Vertrags-PDFs

Responses

Response samples

Content type
application/json
[
  • {
    }
]

PDF - Vertrags-PDF hochladen

Lädt einen eigens geschlossenen Vertrag hoch. Dabei werden nur PDF Dateien unterstützt

Request Body schema: application/json
required
name
required
string
pdf
required
string <binary>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "pdf": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "creationDate": "string"
}

PDF - Liefert ein bestimmtes Vertrags-PDF

Liefert ein bestimmtes manuell hochgeladenes Vertrags-PDF des Kunden

path Parameters
pdfIdentifier
required
string

Die ID des Vertrags-PDFs

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "creationDate": "string"
}

PDF - Löscht ein bestimmtes Vertrags-PDF

Löscht ein bestimmtes manuell hochgeladenes Vertrags-PDF des Kunden

path Parameters
pdfIdentifier
required
string

Die ID des Vertrags-PDFs

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

PDF - Stellt ein Vertrags-PDF zum Download bereit

Stellt ein manuell hochgeladenes Vertrags-PDF zum Download bereit

path Parameters
pdfIdentifier
required
string

Die ID des Vertrags-PDFs

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Vertragskonfiguration - Liefert alle gespeicherten Vertrags-Konfigurationen

Liefert alle gespeicherten Vertrags-Konfigurationen des Kunden

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Vertragskonfiguration - Speichert eine Vertrags-Konfiguration

Speichert eine Vertrags-Konfiguration

Request Body schema: application/json
required
name
required
string
description
string
config
object
creationDate
string <datetime>

Das Erstelldatum im UTC Format

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "config": { },
  • "creationDate": "string"
}

Response samples

Content type
application/json
{
  • "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

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "config": { },
  • "creationDate": "string"
}

Vertrag - Liefert alle hinterlegten Verträge

Liefert die Daten aller hinterlegten Verträge

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Vertrag - Vertrag anlegen

Legt einen Vertrag mit den angegebenen Daten an

Request Body schema: application/json
required

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

Content type
application/json
{
  • "html": "string",
  • "tom": "string",
  • "client": "string",
  • "recipient": "string",
  • "isPartnerContract": false
}

Response samples

Content type
application/json
{
  • "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

Content type
application/json
{
  • "creationDate": "string",
  • "tom": { },
  • "client": { },
  • "recipient": { },
  • "html": "string",
  • "confirmationDate": "string",
  • "sentDate": "string",
  • "reminderSentDate": "string",
  • "isPartnerContract": true,
  • "contractSigner": "string"
}

Vertrag - Löscht einen bestimmten Vertrag

Löscht einen bestimmten Vertrag

path Parameters
contractIdentifier
required
string

Die ID des Vertrages

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Vertrag - Liefert ein PDF zu einem bestimmten Vertrag

Liefert das PDF des Inhalts eines bestimmten Vertrages

path Parameters
contractIdentifier
required
string

Die ID des Vertrages

Responses

Response samples

Content type
application/json
{
  • "message": "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

Content type
application/json
{
  • "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
email
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

Content type
application/json
{
  • "message": "string"
}

DSGVO-Kontakte

DSGVO-Kontakte

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

Content type
application/json
[
  • {
    }
]

Kontakt - Adressdaten anlegen

Legt einen Adressdatensatz mit den angegebenen Daten an

Request Body schema: application/json
required

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

Content type
application/json
{
  • "name": "string",
  • "street": "string",
  • "houseNumber": "string",
  • "zipCode": "string",
  • "city": "string",
  • "mail": "string",
  • "creationDate": "string",
  • "type": "string"
}

Response samples

Content type
application/json
{
  • "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

Content type
application/json
{
  • "name": "string",
  • "street": "string",
  • "houseNumber": "string",
  • "zipCode": "string",
  • "city": "string",
  • "mail": "string",
  • "creationDate": "string",
  • "type": "string"
}

DSGVO-TOMs

DSGVO-TOMs

TOM - Liefert alle hinterlegten TOMs

Liefert die Daten aller hinterlegten TOMs

Responses

Response samples

Content type
application/json
[
  • {
    }
]

TOM - TOM anlegen

Legt einen TOM mit den angegebenen Daten an

Request Body schema: application/json
required

Die Daten des Toms

content
string
creationDate
string <datetime>

Das Erstelldatum im UTC Format

Responses

Request samples

Content type
application/json
{
  • "content": "string",
  • "creationDate": "string"
}

Response samples

Content type
application/json
{
  • "content": "string",
  • "creationDate": "string"
}

TOM - Liefert einen bestimmten TOM

Liefert die Daten eines bestimmten TOMs

path Parameters
tomIdentifier
required
string

Die ID des TOMs

Responses

Response samples

Content type
application/json
{
  • "content": "string",
  • "creationDate": "string"
}

Tickets

Support-Tickets

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

Content type
application/json
[
  • {
    }
]

Neues Support-Ticket

Erstellt ein neues Support-Ticket

Request Body schema: application/json
required

Das neue Support-Ticket

subject
required
string
message
required
string
object
object
required
object
Array of objects (FileMeta)

Responses

Request samples

Content type
application/json
{
  • "subject": "string",
  • "message": "string",
  • "author": {
    },
  • "account": {
    },
  • "customer": {
    },
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "uid": 0,
  • "subject": "string",
  • "message": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "status": "open",
  • "publicStatus": "open",
  • "author": {
    },
  • "account": {
    },
  • "customer": {
    },
  • "answersCount": 0,
  • "files": [
    ]
}

Ticket auslesen

Liefert das angeforderte Ticket mit Metainformationen zurück

path Parameters
ticketIdentifier
required
string

Die Ticket-ID

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "subject": "string",
  • "message": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "status": "open",
  • "publicStatus": "open",
  • "author": {
    },
  • "account": {
    },
  • "customer": {
    },
  • "answersCount": 0,
  • "files": [
    ]
}

Ticketantworten auslesen

Liefert alle Antworten auf ein bestimmtes Support-Ticket zurück

path Parameters
ticketIdentifier
required
string

Die Ticket-ID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Ticketantwort erstellen

Erstellt eine neue Antwort auf ein Support-Ticket

path Parameters
ticketIdentifier
required
string

Die Ticket-ID

Request Body schema: application/json
required

Die neue Antwort

message
required
string
object
object
Array of objects (FileMeta)

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "author": {
    },
  • "customer": {
    },
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "uid": 0,
  • "message": "string",
  • "createdAt": "string",
  • "author": {
    },
  • "files": [
    ]
}

Ticket schließen

Schließt das angegebene Ticket

path Parameters
ticketIdentifier
required
string

Die Ticket-ID

Responses

Response samples

Content type
application/json
{
  • "uid": 0,
  • "message": "string",
  • "createdAt": "string",
  • "author": {
    },
  • "files": [
    ]
}

Ticketkategorien auslesen

Liefert alle auswählbaren Ticketkategorien

Responses

Response samples

Content type
application/json
[
  • {
    }
]

navigation

Navigation

Menu generation

Get the data for the menu of the customer login

query Parameters
forceMittwaldVersion
boolean

Skip whitelabeling even when the host is not login.mittwald.de

skipCache
boolean

Don't get any values from cache.

onlyRootLevel
boolean

Only render the first level of the menu. Performance boost, but have to load the childs manually later.

Responses

Response samples

Content type
application/json
{
  • "top": [
    ],
  • "left": [
    ],
  • "contract": [
    ],
  • "support": [
    ]
}

Get meta menu items

Get the meta for the menu of the customer login

query Parameters
skipCache
boolean

Don't get any values from cache.

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "warnings": [
    ]
}

search for customer center menu

search for accounts, reseller or domains

query Parameters
needle
required
string

search string

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "reseller": [
    ],
  • "solr": [
    ]
}

Telefonverifizierung

Telefonverifizierung

getPhoneVerificationCode

Liefert den Telefonverifizierungscode der Kundennummer und aktualisiert diesen bei Bedarf

path Parameters
customernumber
required
number

Kundennummer

Responses

Response samples

Content type
application/json
{
  • "code": "string"
}

Dateiupload

Dateiupload

getAllowedFileTypes

Liefert die erlaubten Dateitypen für den Dateiupload

Responses

Response samples

Content type
application/json
{
  • "mimetypes": [
    ],
  • "extensions": [
    ]
}

uploadFile

Lädt eine Datei hoch

Request Body schema: multipart/form-data

Die Datei die hochgeladen wird

file
required
string <binary>
object

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "string",
  • "name": "string"
}

getFile

Liefert die gewünschte Datei als Base64 String

path Parameters
fileId
required
string <uuid>

ID einer Datei

Responses

deleteFile

Löscht eine hochgeladene Datei

path Parameters
fileId
required
string <uuid>

ID einer Datei

Responses

getFileDetails

Liefert Detailinformationen zu einer Datei

path Parameters
fileId
required
string <uuid>

ID einer Datei

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "string",
  • "name": "string"
}

Password

Password

Change account password

path Parameters
account
required
string

A account ID or name

Request Body schema: application/json
required
password
required
string

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Change customer password

path Parameters
customerNumber
required
string

Customer number

Request Body schema: application/json
required
password
required
string

Responses

Request samples

Content type
application/json
{
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

mfa

mfa

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/json
optional

The MFA action request

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "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/json
required
multiFactorCode
required
string [ 6 .. 16 ] characters

Multi Factor Code to confirm MFA.

Responses

Request samples

Content type
application/json
{
  • "multiFactorCode": 123456
}

Response samples

Content type
application/json
{
  • "recoveryCodesList": [
    ]
}

Get your current multi factor auth status.

Responses

Response samples

Content type
application/json
{
  • "initialized": true,
  • "confirmed": true
}

Reset the recovery codes for your multi factor authentication.

Request Body schema: application/json
required
multiFactorCode
required
string [ 6 .. 16 ] characters

Multi Factor Code to authorize your request.

Responses

Request samples

Content type
application/json
{
  • "multiFactorCode": 123456
}

Response samples

Content type
application/json
{
  • "recoveryCodesList": [
    ]
}

Disable Multi Factor Authentication.

Request Body schema: application/json
required
multiFactorCode
required
string [ 6 .. 16 ] characters

Multi Factor Code to confirm MFA.

Responses

Request samples

Content type
application/json
{
  • "multiFactorCode": "string"
}

Response samples

Content type
application/json
{
  • "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

Content type
application/json
{
  • "barcode": "string",
  • "url": "otpauth://totp/mStudio:test@gmail.com?algorithm=SHA1&digits=6&issuer=mStudio&period=30&secret=HTXT7KJFVNAJUPYWQRWMNVQE5AF5YZI2"
}

Feedback

Feedback

Gets the show feedback status

path Parameters
customerNumber
required
integer

Customer number

Responses

Response samples

Content type
application/json
{
  • "isShowFeedback": true,
  • "isNotNow": true
}

Create feedback

path Parameters
customerNumber
required
integer

Customer number

Request Body schema: application/json
required

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

Content type
application/json
{
  • "vote": 1,
  • "message": "string",
  • "notNow": true
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Subdomain

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

Content type
application/json
[
  • {
    }
]

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/json
required

Daten der neuen Subdomain

Array
name
required
string
target
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Subdomain löschen

Löscht eine bestehende Subdomain

path Parameters
accountIdentifier
required
string

Name oder ID eines Accounts

domainIdentifier
required
string

Vollständiger Name der Domain

Responses

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

Content type
application/json
{
  • "uid": 0,
  • "fullName": "string",
  • "target": "string",
  • "name": "string"
}

admin

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/json
required

The JWT claims to sign

sub
required
string

Token subject

includes
Array of strings

Included subjects

Responses

Request samples

Content type
application/json
{
  • "sub": "string",
  • "includes": [
    ]
}

Response samples

Content type
{
  • "sub": "string",
  • "iat": 0,
  • "exp": 0,
  • "includes": [
    ]
}

verification

Gets key for token verification

This resource contains a RSA public key that can be used to verify tokens issued by this service.

Responses

Account

List blocked bots belonging to an Account.

path Parameters
accountIdentifier
required
string

ID of the Account to list blocked bots for.

Responses

Response samples

Content type
application/json
{
  • "blockedBots": [
    ],
  • "isManaged": true
}

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/json
required

Blocked Bot List

blockedBots
Array of strings or null (BlockedBots) unique

Responses

Request samples

Content type
application/json
{
  • "blockedBots": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

List default blocked bots.

Responses

Response samples

Content type
application/json
{
  • "defaultBlockedBots": [
    ]
}