Zum Inhalt springen

Developer API

API-Dokumentation

Automatisieren Sie Kundenbereich, Dienste, Domains, Support und Abrechnung über die HTTP-API. Die Dokumentation wird automatisch aus den in HostBill aktiven API-Routen erzeugt.

Code-Beispiele

Start

Einführung

Die HTTP-API stellt Funktionen bereit, mit denen Kunden ihre Daten und gebuchten Dienste automatisiert verwalten können. Antworten werden als JSON geliefert.

Nutzen Sie die Navigation links, um nach Kategorien und Methoden zu filtern. Die Code-Beispiele können global zwischen den verfügbaren Sprachen umgeschaltet werden.

Das vollständige OpenAPI-Dokument kann als JSON heruntergeladen oder direkt angezeigt werden.

Sicherheit

Authentifizierung

Basic Authentication

curl 'https://fmsid.de/api/details' \
    -u "username:password"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$resp = $client->get('details');
req = requests.get('https://fmsid.de/api/details', auth=('username', 'password'))
print(req.json())

Diese Methode nutzt die Zugangsdaten des Kundenbereichs. Senden Sie API-Anfragen nur über HTTPS und behandeln Sie Zugangsdaten wie Passwörter.

Kategorie

Clientarea

POST login

Login

Öffentlich

Generate new authorization token

Request-Beispiel
POST_DATA="{
    \"username\": \"user@example.com\",
    \"password\": \"secret\"
}"

curl -X POST "https://fmsid.de/api/login" \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
]);

$options = [
    'json' => [
        "username" => "user@example.com",
        "password" => "secret"
    ]
]
$resp = $client->post('login', $options);
echo $resp->getBody();
payload = {
    'username': "user@example.com",
    'password': "secret"
}


req = requests.post('https://fmsid.de/api/login', json=payload)
print(req.json())
Beispiel-Antwort
{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRw(...)5lZ9T79ft9uwOkqRRmIBbtR51_w",
    "expires_at": 1786124959,
    "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzMD(...)ChwIAb3zvxBu6kvULa2AwAt9U-I",
    "refresh_expires_at": 1793897359,
    "mfa": null
}

// OR

{
    "token": null,
    "expires_at": null,
    "refresh": null,
    "refresh_expires_at": null,
    "mfa": {
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRw(...)5lZ9T79ft9uwOkqRRmIBbtR51_w",
        "methods": [
          "email_mfa"
        ],
        "expires_at": 1786121952
    }
}
HTTP Request POST /login
Authentifizierung nicht erforderlich

Parameter

Parameter Typ Beschreibung
username string

Your acount email address

password string

Account password

POST mfa/challenge

Request MFA

Öffentlich

Send code or get initialization data for a selected MFA method. For example, for Email Verification this will send a new code to suer email.

Set your Authorization header to Bearer {{mfa.token}} using data from the POST /login response

Request-Beispiel
POST_DATA="{
    \"method\": \"email_mfa\",
    \"params\": \"No error\"
}"

curl -X POST "https://fmsid.de/api/mfa/challenge" \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
]);

$options = [
    'json' => [
        "method" => "email_mfa",
        "params" => "No error"
    ]
]
$resp = $client->post('mfa/challenge', $options);
echo $resp->getBody();
payload = {
    'method': "email_mfa",
    'params': "No error"
}


req = requests.post('https://fmsid.de/api/mfa/challenge', json=payload)
print(req.json())
Beispiel-Antwort
{
    "expected_payload": {
        "type": "object",
        "required": [
            "code"
        ],
        "properties": {
            "code": {
                "type": "string",
                "description": "The code to verify"
            }
        }
    }
}
HTTP Request POST /mfa/challenge
Authentifizierung nicht erforderlich

Parameter

Parameter Typ Beschreibung
method string

The MFA method to use.

params mixed

Paramtters for specific MFA methods.

POST mfa/verify

Verify MFA

Öffentlich

Receive authentication and refresh tokens after solving the MFA challenge with the user-provided data.

Set your Authorization header to Bearer {{mfa.token}} using data from the POST /login response

Request-Beispiel
POST_DATA="{
    \"method\": \"email_mfa\",
    \"payload\": {
        \"code\": \"123456\"
    }
}"

curl -X POST "https://fmsid.de/api/mfa/verify" \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
]);

$options = [
    'json' => [
        "method" => "email_mfa",
        "payload" => [
            "code" => "123456"
        ]
    ]
]
$resp = $client->post('mfa/verify', $options);
echo $resp->getBody();
payload = {
    'method': "email_mfa",
    'payload': {
        'code': "123456"
    }
}


req = requests.post('https://fmsid.de/api/mfa/verify', json=payload)
print(req.json())
Beispiel-Antwort
{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtZmFA(...)HGCeVZ0-ikvglYi8U41UPAr6G7Q",
    "expires_at": 1786125589,
    "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodH(...)UlbKlgssysGnCZXwZ46uD7B4THk",
    "refresh_expires_at": 1793897989,
    "mfa": null
}
HTTP Request POST /mfa/verify
Authentifizierung nicht erforderlich

Parameter

Parameter Typ Beschreibung
method string

The MFA method to use.

payload mixed

Data used for MFA method

POST logout

Logout

Authentifiziert

Invalidate authorization token

Request-Beispiel

curl -X POST "https://fmsid.de/api/logout" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->post('logout');
echo $resp->getBody();

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/logout', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "status": true
}
HTTP Request POST /logout
Authentifizierung erforderlich
POST token

Refresh Token

Öffentlich

Generate new authorization token using refresh token

Request-Beispiel
POST_DATA="{
    \"refresh_token\": \"refresh_tokenValue\"
}"

curl -X POST "https://fmsid.de/api/token" \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
]);

$options = [
    'json' => [
        "refresh_token" => "refresh_tokenValue"
    ]
]
$resp = $client->post('token', $options);
echo $resp->getBody();
payload = {
    'refresh_token': "refresh_tokenValue"
}


req = requests.post('https://fmsid.de/api/token', json=payload)
print(req.json())
Beispiel-Antwort
{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHR(...)vY2xlYiHGvauCWZD9B0VwXgHEzXDllqY",
    "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJBQ(...)Rmivc_u3YA_kgDqOPtUuGNXOzueXYtZw"
}
HTTP Request POST /token
Authentifizierung nicht erforderlich

Parameter

Parameter Typ Beschreibung
refresh_token string

Refresh token previously obtained from POST /login

POST revoke

Revoke Token

Öffentlich

Invalidate authorization and refresh token. Pass refresh token or call this method with valid access token

Request-Beispiel
POST_DATA="{
    \"refresh_token\": \"refresh_tokenValue\"
}"

curl -X POST "https://fmsid.de/api/revoke" \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
]);

$options = [
    'json' => [
        "refresh_token" => "refresh_tokenValue"
    ]
]
$resp = $client->post('revoke', $options);
echo $resp->getBody();
payload = {
    'refresh_token': "refresh_tokenValue"
}


req = requests.post('https://fmsid.de/api/revoke', json=payload)
print(req.json())
Beispiel-Antwort
{
    "status": true
}
HTTP Request POST /revoke
Authentifizierung nicht erforderlich

Parameter

Parameter Typ Beschreibung
refresh_token string
GET details

User Details

Authentifiziert

Return registration details for my account

Request-Beispiel

curl -X GET "https://fmsid.de/api/details" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('details');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/details', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "client": {
        "id": "26",
        "email": "api@example.com",
        "lastlogin": "2016-12-30 12:24:28",
        "ip": "172.100.2.1",
        "host": "hostname",
        "firstname": "Joe",
        "lastname": "Doe",
        "companyname": "",
        "address1": "Pretty View Lane",
        "address2": "3294",
        "city": "Santa Rosa",
        "state": "California",
        "postcode": "95401",
        "country": "US",
        "phonenumber": "+1.24123123"
    }
}
HTTP Request GET /details
Authentifizierung erforderlich
PUT details

Update User Details

Authentifiziert

Update registration details under my account

Request-Beispiel
POST_DATA="{
    \"email\": \"emailValue\",
    \"firstname\": \"firstnameValue\",
    \"lastname\": \"lastnameValue\",
    \"companyname\": \"companynameValue\",
    \"address1\": \"address1Value\",
    \"address2\": \"address2Value\",
    \"city\": \"cityValue\",
    \"state\": \"stateValue\",
    \"postcode\": \"postcodeValue\",
    \"country\": \"countryValue\",
    \"phonenumber\": \"phonenumberValue\",
    \"type\": \"typeValue\",
    \"mobilephone\": \"mobilephoneValue\"
}"

curl -X PUT "https://fmsid.de/api/details" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "email" => "emailValue",
        "firstname" => "firstnameValue",
        "lastname" => "lastnameValue",
        "companyname" => "companynameValue",
        "address1" => "address1Value",
        "address2" => "address2Value",
        "city" => "cityValue",
        "state" => "stateValue",
        "postcode" => "postcodeValue",
        "country" => "countryValue",
        "phonenumber" => "phonenumberValue",
        "type" => "typeValue",
        "mobilephone" => "mobilephoneValue"
    ]
]
$resp = $client->put('details', $options);
echo $resp->getBody();
payload = {
    'email': "emailValue",
    'firstname': "firstnameValue",
    'lastname': "lastnameValue",
    'companyname': "companynameValue",
    'address1': "address1Value",
    'address2': "address2Value",
    'city': "cityValue",
    'state': "stateValue",
    'postcode': "postcodeValue",
    'country': "countryValue",
    'phonenumber': "phonenumberValue",
    'type': "typeValue",
    'mobilephone': "mobilephoneValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/details', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "client": {
        "id": "26",
        "email": "api@example.com",
        "lastlogin": "2016-12-30 12:34:20",
        "ip": "172.100.2.1",
        "host": "hostname",
        "firstname": "Joe",
        "lastname": "Doe",
        "companyname": "",
        "address1": "Pretty View Lane",
        "address2": "3194",
        "city": "Santa Rosa",
        "state": "California",
        "postcode": "95401",
        "country": "US",
        "phonenumber": "+1.24123123"
    },
    "info": [
        "client_info_updated"
    ]
}
HTTP Request PUT /details
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
email string

Email Address

firstname string

First Name

lastname string

Last Name

companyname string

Organization

address1 string

Address 1

address2 string

Address 2

city string

City

state string

State

postcode string

Post code

country string

Country

phonenumber string

Phone

type string

Account Type

Mögliche Werte: Private, Company.

mobilephone string

Mobile phone number - To receive SMS notifications about your services with us please provide your mobile phone number, starting with country code prefix, ie. +1

GET logs

User Logs

Authentifiziert

Returns logs from history

Request-Beispiel

curl -X GET "https://fmsid.de/api/logs" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('logs');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/logs', auth=auth)
print(req.json())
HTTP Request GET /logs
Authentifizierung erforderlich
GET affiliates/summary

Get Affiliate summary

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/affiliates/summary" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('affiliates/summary');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/affiliates/summary', auth=auth)
print(req.json())
HTTP Request GET /affiliates/summary
Authentifizierung erforderlich
GET affiliates/campaigns

Get Affiliate campaigns

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/affiliates/campaigns" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('affiliates/campaigns');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/affiliates/campaigns', auth=auth)
print(req.json())
HTTP Request GET /affiliates/campaigns
Authentifizierung erforderlich
GET affiliates/commissions

Get Affiliate commissions

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/affiliates/commissions" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('affiliates/commissions');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/affiliates/commissions', auth=auth)
print(req.json())
HTTP Request GET /affiliates/commissions
Authentifizierung erforderlich
GET affiliates/payouts

Get Affiliate payouts

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/affiliates/payouts" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('affiliates/payouts');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/affiliates/payouts', auth=auth)
print(req.json())
HTTP Request GET /affiliates/payouts
Authentifizierung erforderlich
GET affiliates/vouchers

Get Affiliate vouchers

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/affiliates/vouchers" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('affiliates/vouchers');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/affiliates/vouchers', auth=auth)
print(req.json())
HTTP Request GET /affiliates/vouchers
Authentifizierung erforderlich
GET affiliates/commissionplans

Get Affiliate commission plans

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/affiliates/commissionplans" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('affiliates/commissionplans');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/affiliates/commissionplans', auth=auth)
print(req.json())
HTTP Request GET /affiliates/commissionplans
Authentifizierung erforderlich
GET contact

List contacts

Authentifiziert

Return a list of contacts on this account

Request-Beispiel

curl -X GET "https://fmsid.de/api/contact" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('contact');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/contact', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "contacts": [
        {
            "email": "mary@example.com",
            "id": "49",
            "firstname": "Mary",
            "lastname": "Sue",
            "companyname": "",
            "company": "0",
            "lastlogin": "0000-00-00 00:00:00"
        }
    ]
}
HTTP Request GET /contact
Authentifizierung erforderlich
POST contact

Add contact

Authentifiziert

Create new contact account, if password is provided you can use provided email addres to login as that contact.

Request-Beispiel
POST_DATA="{
    \"password\": \"passwordValue\",
    \"privileges\": \"privilegesValue\",
    \"email\": \"emailValue\",
    \"firstname\": \"firstnameValue\",
    \"lastname\": \"lastnameValue\",
    \"companyname\": \"companynameValue\",
    \"address1\": \"address1Value\",
    \"address2\": \"address2Value\",
    \"city\": \"cityValue\",
    \"state\": \"stateValue\",
    \"postcode\": \"postcodeValue\",
    \"country\": \"countryValue\",
    \"phonenumber\": \"phonenumberValue\",
    \"type\": \"typeValue\",
    \"mobilephone\": \"mobilephoneValue\"
}"

curl -X POST "https://fmsid.de/api/contact" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "password" => "passwordValue",
        "privileges" => "privilegesValue",
        "email" => "emailValue",
        "firstname" => "firstnameValue",
        "lastname" => "lastnameValue",
        "companyname" => "companynameValue",
        "address1" => "address1Value",
        "address2" => "address2Value",
        "city" => "cityValue",
        "state" => "stateValue",
        "postcode" => "postcodeValue",
        "country" => "countryValue",
        "phonenumber" => "phonenumberValue",
        "type" => "typeValue",
        "mobilephone" => "mobilephoneValue"
    ]
]
$resp = $client->post('contact', $options);
echo $resp->getBody();
payload = {
    'password': "passwordValue",
    'privileges': "privilegesValue",
    'email': "emailValue",
    'firstname': "firstnameValue",
    'lastname': "lastnameValue",
    'companyname': "companynameValue",
    'address1': "address1Value",
    'address2': "address2Value",
    'city': "cityValue",
    'state': "stateValue",
    'postcode': "postcodeValue",
    'country': "countryValue",
    'phonenumber': "phonenumberValue",
    'type': "typeValue",
    'mobilephone': "mobilephoneValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/contact', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "contact_id": "1",        
    "info": [
        "profile_added"
    ]
}
HTTP Request POST /contact
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
password string

Optional, allows you to login as contact

privileges array

Array with privileges that you want to enable. Formatted the same way as output from GET /contact/privileges

email string

Email Address

firstname string

First Name

lastname string

Last Name

companyname string

Organization

address1 string

Address 1

address2 string

Address 2

city string

City

state string

State

postcode string

Post code

country string

Country

phonenumber string

Phone

type string

Account Type

Mögliche Werte: Private, Company.

mobilephone string

Mobile phone number - To receive SMS notifications about your services with us please provide your mobile phone number, starting with country code prefix, ie. +1

GET contact/privileges

Contact privileges

Authentifiziert

List possible contact privileges. Each domain and service may list additional privileges, depending on available features.

Request-Beispiel

curl -X GET "https://fmsid.de/api/contact/privileges" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('contact/privileges');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/contact/privileges', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "privileges": {
        "billing": [
            "emails", // Receive billing notifications
            "payinvoice", // Allow to view/pay invoices
            "orders", // Allow to place new orders
            "balance", // View account balance
            "addfunds", // Add account funds
            "creditcard" // Edit Credit Card details
        ],
        "support": [
            "newticket", // Open new tickets
            "tickets", // View all tickets
            "closeticket", // Close tickets
            "emails" // Receive email notifications from support
        ],
        "misc": [
            "editmain", // Modify main profile details
            "emails", // View emails history
            "editipaccess", // Edit allowed IP access
            "manageprofiles", // Add / Edit contacts
            "affiliates" // Access affiliates section
        ],
        "services": {
            "full": 1, // Full control over services
            "332": [
                "basic", // View basic details
                "billing", // View billing info
                "cancelation", // Request cancellation
                "upgrade", // Upgrade / Downgrade
                "notify", // Receive related email notifications  
                (...)
                "logindetails"
            ]
        },
        "domains": {
            "full": 1, // Full control over domains
            "523": [
                "basic", // View basic details
                "renew", // Renew domain
                "notify", // Receive related email notifications  
                "contactinfo", // Contact Information
                (...)
                "nameservers" // Manage Nameservers
            ]
        }
    }
}
HTTP Request GET /contact/privileges
Authentifizierung erforderlich
GET contact/@id

Get contacts details

Authentifiziert

Return array with contact details

Request-Beispiel

curl -X GET "https://fmsid.de/api/contact/@id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('contact/@id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/contact/@id', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "contact": {
        "id": "49",
        "email": "mary@example.com",
        "firstname": "Mary",
        "lastname": "Sue",
        "companyname": "",
        "address1": "Pretty View Lane",
        "address2": "3194",
        "city": "Santa Rosa",
        "state": "California",
        "postcode": "95401",
        "country": "US",
        "phonenumber": "+1.24123123",
        "type": "Private",
        "privileges" : {
            "support" : ["tickets", "newticket"]
        }
    }
}
HTTP Request GET /contact/@id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Contact ID

PUT contact/@id

Edit contact

Authentifiziert

Change contact details`

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"privileges\": \"privilegesValue\",
    \"email\": \"emailValue\",
    \"firstname\": \"firstnameValue\",
    \"lastname\": \"lastnameValue\",
    \"companyname\": \"companynameValue\",
    \"address1\": \"address1Value\",
    \"address2\": \"address2Value\",
    \"city\": \"cityValue\",
    \"state\": \"stateValue\",
    \"postcode\": \"postcodeValue\",
    \"country\": \"countryValue\",
    \"phonenumber\": \"phonenumberValue\",
    \"type\": \"typeValue\",
    \"mobilephone\": \"mobilephoneValue\"
}"

curl -X PUT "https://fmsid.de/api/contact/@id" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "privileges" => "privilegesValue",
        "email" => "emailValue",
        "firstname" => "firstnameValue",
        "lastname" => "lastnameValue",
        "companyname" => "companynameValue",
        "address1" => "address1Value",
        "address2" => "address2Value",
        "city" => "cityValue",
        "state" => "stateValue",
        "postcode" => "postcodeValue",
        "country" => "countryValue",
        "phonenumber" => "phonenumberValue",
        "type" => "typeValue",
        "mobilephone" => "mobilephoneValue"
    ]
]
$resp = $client->put('contact/@id', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'privileges': "privilegesValue",
    'email': "emailValue",
    'firstname': "firstnameValue",
    'lastname': "lastnameValue",
    'companyname': "companynameValue",
    'address1': "address1Value",
    'address2': "address2Value",
    'city': "cityValue",
    'state': "stateValue",
    'postcode': "postcodeValue",
    'country': "countryValue",
    'phonenumber': "phonenumberValue",
    'type': "typeValue",
    'mobilephone': "mobilephoneValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/contact/@id', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "info": [
        "profile_updated"
    ]
}
HTTP Request PUT /contact/@id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Contact ID

privileges array

Array with privileges that you want to enable. Formatted the same way as output from GET /contact/privileges

email string

Email Address

firstname string

First Name

lastname string

Last Name

companyname string

Organization

address1 string

Address 1

address2 string

Address 2

city string

City

state string

State

postcode string

Post code

country string

Country

phonenumber string

Phone

type string

Account Type

Mögliche Werte: Private, Company.

mobilephone string

Mobile phone number - To receive SMS notifications about your services with us please provide your mobile phone number, starting with country code prefix, ie. +1

GET notifications

List all portal notifications

Authentifiziert

Return a list of all portal notifications.

Request-Beispiel

curl -X GET "https://fmsid.de/api/notifications" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('notifications');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/notifications', auth=auth)
print(req.json())
HTTP Request GET /notifications
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
rel_type string

Optional, return only by relation type

rel_id string

Optional, return only by relation id

GET notifications/new

List new portal notifications

Authentifiziert

Return only new portal notifications.

Request-Beispiel

curl -X GET "https://fmsid.de/api/notifications/new" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('notifications/new');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/notifications/new', auth=auth)
print(req.json())
HTTP Request GET /notifications/new
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
rel_type string

Optional, return only by relation type

rel_id string

Optional, return only by relation id

PUT notifications/@id/ack

Acknowledge notification

Authentifiziert

Marks the notification as read

Request-Beispiel

curl -X PUT "https://fmsid.de/api/notifications/@id/ack" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->put('notifications/@id/ack');
echo $resp->getBody();

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/notifications/@id/ack', auth=auth)
print(req.json())
HTTP Request PUT /notifications/@id/ack
Authentifizierung erforderlich

Kategorie

Billing

GET balance

Account balance

Authentifiziert

Get current account balance(unpaid invoices total), account credit

Request-Beispiel

curl -X GET "https://fmsid.de/api/balance" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('balance');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/balance', auth=auth)
print(req.json())
Beispiel-Antwort
{
    {
        "success": true,
        "details": {
            "currency": "USD",
            "acc_balance": "123456.55",
            "acc_credit": "0.00"
        }
    }
}
HTTP Request GET /balance
Authentifizierung erforderlich
GET invoice

List Invoices

Authentifiziert

List all invoices under my account

Request-Beispiel

curl -X GET "https://fmsid.de/api/invoice" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('invoice');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/invoice', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "invoices": [
        {
            "id": "308976",
            "date": "2016-12-30",
            "dateorig": "2016-12-30",
            "duedate": "2017-01-06",
            "paybefore": "2017-01-06",
            "total": "19.65",
            "datepaid": "2016-12-30 12:40:47",
            "status": "Paid",
            "merge_id": null,
            "number": "2016\/12\/1",
            "currency": "USD"
        }
    ]
}
HTTP Request GET /invoice
Authentifizierung erforderlich
GET invoice/@id

Invoice Details

Authentifiziert

Get invoice details

Request-Beispiel

curl -X GET "https://fmsid.de/api/invoice/@id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('invoice/@id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/invoice/@id', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "invoice": {
        "id": "308976",
        "status": "Paid",
        "date": "2016-12-30",
        "duedate": "2017-01-06",
        "paybefore": "2017-01-06",
        "datepaid": "2016-12-30 12:40:47",
        "subtotal": 16.24,
        "credit": 0,
        "tax": 3.41,
        "taxrate": 21,
        "tax2": 0,
        "taxrate2": 0,
        "taxexempt": "0",
        "total": 19.65,
        "rate": 1,
        "rate2": 0,
        "rate3": 1,
        "notes": "",
        "items": [
            {
                "id": "12305",
                "invoice_id": "308976",
                "type": "Other",
                "item_id": "0",
                "description": "Example Service",
                "amount": "15.00",
                "taxed": "1",
                "qty": "1.00",
                "linetotal": "15.00"
            },
            {
                "id": "12309",
                "invoice_id": "308976",
                "type": "Other",
                "item_id": "-2",
                "description": "PayPal Payment Fee",
                "amount": "1.24",
                "taxed": "1",
                "qty": "1.00",
                "linetotal": "1.24"
            }
        ],
        "client": {
            "id": "26",
            "email": "api@example.com",
            "firstname": "Joe",
            "lastname": "Doe",
            "companyname": "",
            "address1": "Pretty View Lane",
            "address2": "3194",
            "city": "Santa Rosa",
            "state": "California",
            "postcode": "95401",
            "country": "US",
            "phonenumber": "+1.24123123"
        },
        "number": "2016\/12\/1",
        "currency": "USD"
    }
}
HTTP Request GET /invoice/@id
Authentifizierung erforderlich
POST invoice/@id/credit

Apply credit

Authentifiziert

Apply account credit to invoice

Request-Beispiel
POST_DATA="{
    \"amount\": \"amountValue\"
}"

curl -X POST "https://fmsid.de/api/invoice/@id/credit" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "amount" => "amountValue"
    ]
]
$resp = $client->post('invoice/@id/credit', $options);
echo $resp->getBody();
payload = {
    'amount': "amountValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/invoice/@id/credit', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "invoice_status": "Paid",
    "applied": 2.1
}
HTTP Request POST /invoice/@id/credit
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
amount number

Optional credit amount, when no value is specified maximum amount to fully pay the invoice will be used

GET payment

Payment Methods

Authentifiziert

List available payment methods

Request-Beispiel

curl -X GET "https://fmsid.de/api/payment" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('payment');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/payment', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "payments": {
        "10": "BankTransfer",
        "9": "PayPal"
    }
}
HTTP Request GET /payment
Authentifizierung erforderlich
GET payment/fees

Payment Methods Fees

Authentifiziert

List available payment methods with fees

Request-Beispiel

curl -X GET "https://fmsid.de/api/payment/fees" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('payment/fees');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/payment/fees', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "payments": [
        {
            "id": 1,
            "name": "Bank Transfer",
            "fixed_fee": "0.0",
            "percent_fee": "0.0",
        },
        {
            "id": 2,
            "name": "Stripe",
            "fixed_fee": "0.5",
            "percent_fee": "2.9",
        },
        {
            "id": 4,
            "name": "Credit Card",
            "fixed_fee": "0.1",
            "percent_fee": "2.4"
        },
        {
            "id": 5,
            "name": "PayPal",
            "fixed_fee": "0.3",
            "percent_fee": "2.9"
        }
    ]
}
HTTP Request GET /payment/fees
Authentifizierung erforderlich
GET addfunds

Get Add Funds Information

Authentifiziert

Get add funds configuration: minimum and maximum deposit amounts and available payment gateways

Request-Beispiel

curl -X GET "https://fmsid.de/api/addfunds" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('addfunds');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/addfunds', auth=auth)
print(req.json())
Beispiel-Antwort
{
 "min_amount": 10.00,
 "max_amount": 1000.00,
 "gateways": [
   {"id": 1, "name": "Bank Transfer"},
   {"id": 2, "name": "PayPal"}
 ]
}
HTTP Request GET /addfunds
Authentifizierung erforderlich
POST addfunds

Add Funds

Authentifiziert

Generate add funds invoice

Request-Beispiel
POST_DATA="{
    \"amount\": \"100.00\",
    \"gateway\": \"gatewayValue\"
}"

curl -X POST "https://fmsid.de/api/addfunds" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "amount" => "100.00",
        "gateway" => "gatewayValue"
    ]
]
$resp = $client->post('addfunds', $options);
echo $resp->getBody();
payload = {
    'amount': "100.00",
    'gateway': "gatewayValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/addfunds', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
 "success": true,
 "invoice_id": 123
}
HTTP Request POST /addfunds
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
amount number

Amount to add to account

gateway number

Payment gateway ID, use GET /addfunds to list available gateways

GET invoice/@id/pdf

Invoice PDF

Authentifiziert

Get specific invoice PDF as base64 string

Request-Beispiel

curl -X GET "https://fmsid.de/api/invoice/@id/pdf" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('invoice/@id/pdf');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/invoice/@id/pdf', auth=auth)
print(req.json())
HTTP Request GET /invoice/@id/pdf
Authentifizierung erforderlich

Kategorie

Support

GET tickets

List Tickets

Authentifiziert

List support tickets under my account

Request-Beispiel

curl -X GET "https://fmsid.de/api/tickets" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('tickets');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/tickets', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "tickets": [
        {
            "client_read": "1",
            "ticket_number": "736633",
            "date": "2016-12-30 12:48:13",
            "deptname": "Billing",
            "subject": "Lore Ipsum",
            "status": "Open",
            "lastreply": "2020-09-12 11:10:03"
        }
    ]
}
HTTP Request GET /tickets
Authentifizierung erforderlich
GET tickets/@number

Ticket details

Authentifiziert

Get ticket details, including all replies

Request-Beispiel

curl -X GET "https://fmsid.de/api/tickets/@number" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('tickets/@number');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/tickets/@number', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "ticket": {
        "date": "2016-12-30 12:48:13",
        "ticket_number": "736633",
        "name": "Joe Doe",
        "email": "api@example.com",
        "subject": "Lore Ipsum",
        "body": "Donec sollicitudin molestie malesuada. \r\nSed porttitor lectus nibh. Vivamus magna justo, \r\nlacinia eget consectetur sed, convallis at tellus.",
        "status": "Answered",
        "client_read": "1",
        "deptname": "Billing"
    },
    "replies": [
        {
            "id": "929",
            "name": "Suppport Staff",
            "date": "2016-12-30 12:51:04",
            "body": "Vestibulum ac diam sit amet quam \r\nvehicula elementum sed sit amet dui. \r\nPraesent sapien massa\r\n\r\n-- Maecenas efficitur elit est --",
            "status": "Sent",
            "type": "Admin"
        }
    ]
}
HTTP Request GET /tickets/@number
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
number int

Ticket number

GET ticket/attachment/@file

Ticket attachment

Authentifiziert

Get ticket attachment

Request-Beispiel

curl -X GET "https://fmsid.de/api/ticket/attachment/@file" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('ticket/attachment/@file');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/ticket/attachment/@file', auth=auth)
print(req.json())
HTTP Request GET /ticket/attachment/@file
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
number int

Ticket number

file string

Attachment id

POST tickets

Create Ticket

Authentifiziert

Submit new ticket

Request-Beispiel
POST_DATA="{
    \"dept_id\": 1,
    \"subject\": \"Subject\",
    \"body\": \"Message ...\"
}"

curl -X POST "https://fmsid.de/api/tickets" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "dept_id" => 1,
        "subject" => "Subject",
        "body" => "Message ..."
    ]
]
$resp = $client->post('tickets', $options);
echo $resp->getBody();
payload = {
    'dept_id': 1,
    'subject': "Subject",
    'body': "Message ..."
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/tickets', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "ticket": 865650
}
HTTP Request POST /tickets
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
dept_id int

Department id

subject string

Ticket subject

body string

Ticket message

POST tickets/@number

Create Reply

Authentifiziert

Reply to ticket

Request-Beispiel
POST_DATA="{
    \"number\": \"numberValue\",
    \"body\": \"reply text ..\"
}"

curl -X POST "https://fmsid.de/api/tickets/@number" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "number" => "numberValue",
        "body" => "reply text .."
    ]
]
$resp = $client->post('tickets/@number', $options);
echo $resp->getBody();
payload = {
    'number': "numberValue",
    'body': "reply text .."
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/tickets/@number', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "info": [
        "reply_added"
    ]
}
HTTP Request POST /tickets/@number
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
number int

Ticket number

body string

Reply message

PUT tickets/@number/open

Re-open ticket

Authentifiziert

Try to re-open closed ticket

Request-Beispiel
POST_DATA="{
    \"number\": \"numberValue\"
}"

curl -X PUT "https://fmsid.de/api/tickets/@number/open" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "number" => "numberValue"
    ]
]
$resp = $client->put('tickets/@number/open', $options);
echo $resp->getBody();
payload = {
    'number': "numberValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/tickets/@number/open', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "status": true
}
HTTP Request PUT /tickets/@number/open
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
number int

Ticket number

PUT tickets/@number/close

Close ticket

Authentifiziert

Send request to close a ticket

Request-Beispiel
POST_DATA="{
    \"number\": \"numberValue\"
}"

curl -X PUT "https://fmsid.de/api/tickets/@number/close" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "number" => "numberValue"
    ]
]
$resp = $client->put('tickets/@number/close', $options);
echo $resp->getBody();
payload = {
    'number': "numberValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/tickets/@number/close', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "status": true
}
HTTP Request PUT /tickets/@number/close
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
number int

Ticket number

GET ticket/departments

List ticket departments

Authentifiziert

Get the list of ticket departments

Request-Beispiel

curl -X GET "https://fmsid.de/api/ticket/departments" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('ticket/departments');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/ticket/departments', auth=auth)
print(req.json())
HTTP Request GET /ticket/departments
Authentifizierung erforderlich
GET news

List News

Authentifiziert

List News

Request-Beispiel

curl -X GET "https://fmsid.de/api/news" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('news');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/news', auth=auth)
print(req.json())
HTTP Request GET /news
Authentifizierung erforderlich
GET news/@news_id

Get news item

Authentifiziert

Returns details of the news item

Request-Beispiel

curl -X GET "https://fmsid.de/api/news/@news_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('news/@news_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/news/@news_id', auth=auth)
print(req.json())
HTTP Request GET /news/@news_id
Authentifizierung erforderlich
GET knowledgebase

List all knowledgebase categories

Authentifiziert

Returns list all knowledgebase categories

Request-Beispiel

curl -X GET "https://fmsid.de/api/knowledgebase" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('knowledgebase');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/knowledgebase', auth=auth)
print(req.json())
HTTP Request GET /knowledgebase
Authentifizierung erforderlich
GET knowledgebase/@category_id

Get knowledgebase category details

Authentifiziert

Returns subcategories and articles of the knowledgebase category

Request-Beispiel

curl -X GET "https://fmsid.de/api/knowledgebase/@category_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('knowledgebase/@category_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/knowledgebase/@category_id', auth=auth)
print(req.json())
HTTP Request GET /knowledgebase/@category_id
Authentifizierung erforderlich
GET knowledgebase/article/@article_id

Get knowledgebase article

Authentifiziert

Returns an article details

Request-Beispiel

curl -X GET "https://fmsid.de/api/knowledgebase/article/@article_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('knowledgebase/article/@article_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/knowledgebase/article/@article_id', auth=auth)
print(req.json())
HTTP Request GET /knowledgebase/article/@article_id
Authentifizierung erforderlich

Kategorie

Domains

GET domain

List Domains

Authentifiziert

List domains under your account

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "domains": [
        {
            "id": "47",
            "name": "testname.com",
            "expires": "2017-12-30",
            "recurring_amount": "15.00",
            "date_created": "2016-12-30",
            "status": "Active",
            "period": "1",
            "autorenew": "1",
            "daytoexpire": "365"
        }
    ]
}
HTTP Request GET /domain
Authentifizierung erforderlich
GET domain/@id

Domain details

Authentifiziert

Get domain details

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "details": {
        "id": "47",
        "name": "testname.com",
        "date_created": "2016-12-30",
        "firstpayment": "10.00",
        "recurring_amount": "15.00",
        "period": "1",
        "expires": "2017-12-30",
        "status": "Active",
        "next_due": "2017-12-30",
        "next_invoice": "2017-11-30",
        "idprotection": "0",
        "nameservers": [
            "ns1.example.com",
            "ns2.example.com",
            "ns3.example.com",
            "ns4.example.com"
        ],
        "autorenew": "1"
    }
}
HTTP Request GET /domain/@id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

GET domain/name/@name

Domain details by name

Authentifiziert

Get domain details by name

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/name/@name" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/name/@name');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/name/@name', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "details": [
        {
            "id": "47",
            "name": "testname.com",
            "date_created": "2016-12-30",
            "firstpayment": "10.00",
            "recurring_amount": "15.00",
            "period": "1",
            "expires": "2017-12-30",
            "status": "Active",
            "next_due": "2017-12-30",
            "next_invoice": "2017-11-30",
            "idprotection": "0",
            "nameservers": [
                "ns1.example.com",
                "ns2.example.com",
                "ns3.example.com",
                "ns4.example.com"
            ],
            "autorenew": "1"
        },
        {
            "id": "48",
            "name": "testname.com",
            "date_created": "2016-05-30",
            "firstpayment": "10.00",
            "recurring_amount": "15.00",
            "period": "1",
            "expires": "2017-05-30",
            "status": "Expired",
            "next_due": "2017-05-30",
            "next_invoice": "2017-04-30",
            "idprotection": "0",
            "nameservers": [
                "ns1.example.com",
                "ns2.example.com",
                "ns3.example.com",
                "ns4.example.com"
            ],
            "autorenew": "1"
        },
    ]
}
HTTP Request GET /domain/name/@name
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
name string

Domain name

GET domain/@id/ns

Get domain nameservers

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/ns" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/ns');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/ns', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/ns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

PUT domain/@id/ns

Update domain nameservers

Authentifiziert

Change domain nameservers, if $nameservers is left empty, default namesevers will be used

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"nameservers\": \"nameserversValue\"
}"

curl -X PUT "https://fmsid.de/api/domain/@id/ns" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "nameservers" => "nameserversValue"
    ]
]
$resp = $client->put('domain/@id/ns', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'nameservers': "nameserversValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/ns', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "info": [
        "success_changes_save"
    ]
}
HTTP Request PUT /domain/@id/ns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

nameservers array

List of nameservers to use

GET domain/@id/reg

Get registered nameservers

Authentifiziert

List registered private/glue nameservers for a domain. Note: Not all domain registrar modules support returning registered nameservers. If the module does not support this feature, an empty list may be returned.

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/reg" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/reg');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/reg', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/reg
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

POST domain/@id/reg

Register domain nameservers

Authentifiziert

Manage private/glue nameservers for a domain. Use the action parameter to select the operation:

  • registerNameServer – register a new glue record (requires nameserver + ip)
  • modifyNameServer – update the IP of an existing glue record (requires nameserver + oldip + newip)
  • deleteNameServer – remove a glue record (requires nameserver)
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"action\": \"registerNameServer\",
    \"nameserver\": \"ns1.yourdomain.com\",
    \"ip\": \"1.2.3.4\",
    \"oldip\": \"1.2.3.4\",
    \"newip\": \"5.6.7.8\"
}"

curl -X POST "https://fmsid.de/api/domain/@id/reg" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "action" => "registerNameServer",
        "nameserver" => "ns1.yourdomain.com",
        "ip" => "1.2.3.4",
        "oldip" => "1.2.3.4",
        "newip" => "5.6.7.8"
    ]
]
$resp = $client->post('domain/@id/reg', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'action': "registerNameServer",
    'nameserver': "ns1.yourdomain.com",
    'ip': "1.2.3.4",
    'oldip': "1.2.3.4",
    'newip': "5.6.7.8"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/domain/@id/reg', json=payload, auth=auth)
print(req.json())
HTTP Request POST /domain/@id/reg
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

action string

Operation: registerNameServer, modifyNameServer, deleteNameServer

nameserver string

Full nameserver hostname

ip string

IP address for the nameserver – required for registerNameServer

oldip string

Current IP address – required for modifyNameServer

newip string

New IP address – required for modifyNameServer

GET domain/@id/dns

DNS Records DNS Records

Authentifiziert

List DNS records

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/dns" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/dns');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/dns', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "records": [
        {
            "id": 1,
            "name": "test",
            "ttl": 0,
            "priority": 0,
            "type": "A",
            "content": "100.100.10.1"
        }
    ]
}
HTTP Request GET /domain/@id/dns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

POST domain/@id/dns

Create DNS Records

Authentifiziert

Add a new DNS record

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"name\": \"nameValue\",
    \"type\": \"typeValue\",
    \"priority\": \"priorityValue\",
    \"content\": \"contentValue\"
}"

curl -X POST "https://fmsid.de/api/domain/@id/dns" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "name" => "nameValue",
        "type" => "typeValue",
        "priority" => "priorityValue",
        "content" => "contentValue"
    ]
]
$resp = $client->post('domain/@id/dns', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'name': "nameValue",
    'type': "typeValue",
    'priority': "priorityValue",
    'content': "contentValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/domain/@id/dns', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "info": [
        "DNS Management updated successfully"
    ]
}
HTTP Request POST /domain/@id/dns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

name string

Reord name

type string

Reord type

priority string

Reord priority

content string

Reord content eg. IP addres for A records

PUT domain/@id/dns/@index

Update DNS Records

Authentifiziert

Change a DNS record

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"record_id\": \"record_idValue\",
    \"name\": \"nameValue\",
    \"type\": \"typeValue\",
    \"priority\": \"priorityValue\",
    \"content\": \"contentValue\"
}"

curl -X PUT "https://fmsid.de/api/domain/@id/dns/@index" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "record_id" => "record_idValue",
        "name" => "nameValue",
        "type" => "typeValue",
        "priority" => "priorityValue",
        "content" => "contentValue"
    ]
]
$resp = $client->put('domain/@id/dns/@index', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'record_id': "record_idValue",
    'name': "nameValue",
    'type': "typeValue",
    'priority': "priorityValue",
    'content': "contentValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/dns/@index', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "info": [
        "DNS Management updated successfully"
    ]
}
HTTP Request PUT /domain/@id/dns/@index
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

record_id int

Recod index

name string

Record name

type string

Record type

priority string

Record priority

content string

Record content eg. IP address for A records

DELETE domain/@id/dns/@index

Remove DNS Records

Authentifiziert

Remove a DNS record

Request-Beispiel

curl -X DELETE "https://fmsid.de/api/domain/@id/dns/@index" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->delete('domain/@id/dns/@index');
echo $resp->getBody();

auth=('username', 'password')

req = requests.delete('https://fmsid.de/api/domain/@id/dns/@index', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "info": [
        "DNS Management updated successfully"
    ]
}
HTTP Request DELETE /domain/@id/dns/@index
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

record_id int

Recod index

GET domain/@id/dns/types

DNS Records Types

Authentifiziert

List supported records type

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/dns/types" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/dns/types');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/dns/types', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "types": [
        "A",
        "CNAME",
        "URL",
        "FRAME",
        "MX",
        "MXE",
        "TXT"
    ]
}
HTTP Request GET /domain/@id/dns/types
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

GET domain/@id/epp

Get domain EPP Code

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/epp" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/epp');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/epp', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/epp
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

GET domain/@id/sync

Synchronize domain

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/sync" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/sync');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/sync', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/sync
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

GET domain/@id/reglock

Get domain lock

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/reglock" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/reglock');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/reglock', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/reglock
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

PUT domain/@id/reglock

Update domain lock

Authentifiziert
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"switch\": true
}"

curl -X PUT "https://fmsid.de/api/domain/@id/reglock" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "switch" => TRUE
    ]
]
$resp = $client->put('domain/@id/reglock', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'switch': true
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/reglock', json=payload, auth=auth)
print(req.json())
HTTP Request PUT /domain/@id/reglock
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

switch bool

Enable or disable domain lock, use true to enable.

PUT domain/@id/idprotection

Update domain ID Protection

Authentifiziert
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"switch\": true
}"

curl -X PUT "https://fmsid.de/api/domain/@id/idprotection" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "switch" => TRUE
    ]
]
$resp = $client->put('domain/@id/idprotection', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'switch': true
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/idprotection', json=payload, auth=auth)
print(req.json())
HTTP Request PUT /domain/@id/idprotection
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

switch bool

Enable or disable ID orotection, use true to enable.

GET domain/@id/contact

Get domain contact info

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/contact" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/contact');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/contact', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "domain_id": "428",
    "contact_info": {
        "registrant": {
            "firstname": "",
            "lastname": "",
            "companyname": "",
            "email": "",
            "phonenumber": "",
            "address1": "",
            "address2": "",
            "city": "",
            "state": "",
            "postcode": "",
            "country": ""
        },
        "tech": {
            "firstname": "",
            "lastname": "",
            "companyname": "",
            "email": "",
            "phonenumber": "",
            "address1": "",
            "address2": "",
            "city": "",
            "state": "",
            "postcode": "",
            "country": ""
        },
        "admin": {
            "firstname": "",
            "lastname": "",
            "companyname": "",
            "email": "",
            "phonenumber": "",
            "address1": "",
            "address2": "",
            "city": "",
            "state": "",
            "postcode": "",
            "country": ""
        },
        "billing": {
            "firstname": "",
            "lastname": "",
            "companyname": "",
            "email": "",
            "phonenumber": "",
            "address1": "",
            "address2": "",
            "city": "",
            "state": "",
            "postcode": "",
            "country": ""
        }
    }
}
HTTP Request GET /domain/@id/contact
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

PUT domain/@id/contact

Update domain contact info

Authentifiziert
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"contact_info\": \"contact_infoValue\"
}"

curl -X PUT "https://fmsid.de/api/domain/@id/contact" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "contact_info" => "contact_infoValue"
    ]
]
$resp = $client->put('domain/@id/contact', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'contact_info': "contact_infoValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/contact', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "domain_id": "428",
    "info": [
        "request_contacts_sent"
    ]
}
HTTP Request PUT /domain/@id/contact
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

contact_info array
GET domain/@id/emforwarding

Get email forwarding

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/emforwarding" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/emforwarding');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/emforwarding', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/emforwarding
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

PUT domain/@id/emforwarding

Update email forwarding

Authentifiziert
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"from\": \"info@domain.com\",
    \"to\": \"destination@domain.com\",
    \"records\": \"recordsValue\"
}"

curl -X PUT "https://fmsid.de/api/domain/@id/emforwarding" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "from" => "info@domain.com",
        "to" => "destination@domain.com",
        "records" => "recordsValue"
    ]
]
$resp = $client->put('domain/@id/emforwarding', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'from': "info@domain.com",
    'to': "destination@domain.com",
    'records': "recordsValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/emforwarding', json=payload, auth=auth)
print(req.json())
HTTP Request PUT /domain/@id/emforwarding
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

from string

Email address that you want to forward

to string

Email address that will receive forwarded emails

records array

Multiple forwarding rules [{"from":"info","to":"dest@domain.com"},{"from":"support","to":"help@domain.com"}]

PUT domain/@id/forwarding

Update domain forwarding

Authentifiziert
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\"
}"

curl -X PUT "https://fmsid.de/api/domain/@id/forwarding" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue"
    ]
]
$resp = $client->put('domain/@id/forwarding', $options);
echo $resp->getBody();
payload = {
    'id': "idValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/forwarding', json=payload, auth=auth)
print(req.json())
HTTP Request PUT /domain/@id/forwarding
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

GET domain/@id/autorenew

Get domain autorenew

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/autorenew" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/autorenew');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/autorenew', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "autorenew": null
}
HTTP Request GET /domain/@id/autorenew
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

PUT domain/@id/autorenew

Enable/disable domain autorenew

Authentifiziert
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"autorenew\": \"autorenewValue\"
}"

curl -X PUT "https://fmsid.de/api/domain/@id/autorenew" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "autorenew" => "autorenewValue"
    ]
]
$resp = $client->put('domain/@id/autorenew', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'autorenew': "autorenewValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/autorenew', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "info": [
        "success_changes_save"
    ]
}
HTTP Request PUT /domain/@id/autorenew
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

autorenew bool
GET domain/@id/dnssec/flags

Returns the available flags

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/dnssec/flags" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/dnssec/flags');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/dnssec/flags', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/dnssec/flags
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

GET domain/@id/dnssec

Returns the list of DNSSEC keys

Authentifiziert
Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/@id/dnssec" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/@id/dnssec');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/@id/dnssec', auth=auth)
print(req.json())
HTTP Request GET /domain/@id/dnssec
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

PUT domain/@id/dnssec

Adds the DNSSEC key

Authentifiziert
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\"
}"

curl -X PUT "https://fmsid.de/api/domain/@id/dnssec" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue"
    ]
]
$resp = $client->put('domain/@id/dnssec', $options);
echo $resp->getBody();
payload = {
    'id': "idValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/domain/@id/dnssec', json=payload, auth=auth)
print(req.json())
HTTP Request PUT /domain/@id/dnssec
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

DELETE domain/@id/dnssec/@key

Authentifiziert
Request-Beispiel

curl -X DELETE "https://fmsid.de/api/domain/@id/dnssec/@key" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->delete('domain/@id/dnssec/@key');
echo $resp->getBody();

auth=('username', 'password')

req = requests.delete('https://fmsid.de/api/domain/@id/dnssec/@key', auth=auth)
print(req.json())
HTTP Request DELETE /domain/@id/dnssec/@key
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Domain id

POST domain/lookup

Domain availability

Authentifiziert

Check if domain is available for registration. Returns status: "ok" if domain is available, empty response otherwise

Request-Beispiel
POST_DATA="{
    \"name\": \"example.com\"
}"

curl -X POST "https://fmsid.de/api/domain/lookup" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "name" => "example.com"
    ]
]
$resp = $client->post('domain/lookup', $options);
echo $resp->getBody();
payload = {
    'name': "example.com"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/domain/lookup', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "available": false,
    "name": "example.com",
    "premium": false,
    "periods": [
        {
            "id": "6",
            "period": "1",
            "register": "10.00",
            "transfer": "0.00",
            "renew": "15.00",
            "redemption": "40.00"
        },
        {
            "id": "6",
            "period": "2",
            "register": "20.00",
            "transfer": "20.00",
            "renew": "20.00",
            "redemption": "80.00"
        }
    ]
}
HTTP Request POST /domain/lookup
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
name string

Domain name

GET domain/order

Available TLDs

Authentifiziert

List TLDs available for registration and transfer

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/order" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/order');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/order', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "tlds": [
        {
            "id": "6",
            "tld": ".com",
            "periods": [
                {
                    "period": "1",
                    "register": "10.00",
                    "transfer": "0.00",
                    "renew": "15.00",
                    "redemption": "40.00"
                },
                {
                    "period": "2",
                    "register": "20.00",
                    "transfer": "20.00",
                    "renew": "30.00",
                    "redemption": "80.00"
                }
            ]
        },
        (...)
    ]
}
HTTP Request GET /domain/order
Authentifizierung erforderlich
GET domain/order/@id/form

Additinal data for TLD

Authentifiziert

Get additional forms required for some TLDs

Request-Beispiel

curl -X GET "https://fmsid.de/api/domain/order/@id/form" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('domain/order/@id/form');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/domain/order/@id/form', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "forms": [
        {
            "type": "domaindnssupport",
            "title": "DNS Management",
            "id": "1424",
            "firstItemId": 9067,
            "description": "",
            "name": "custom[1424][9067]",
            "required": false,
            "multiple": false,
            "config": {
                "enableddefault": 0
            },
            "value": [],
            "textvalue": [],
            "price": 0,
            "recurring_price": 0,
            "setup": 0,
            "prorata_date": null,
            "items": [
                {
                    "title": "",
                    "value": 1,
                    "id": 9067,
                    "price": 4,
                    "setup": 0,
                    "selected": false
                }
            ]
        },
        {
            "type": "select",
            "title": "Language",
            "id": "1755",
            "firstItemId": 10952,
            "description": "",
            "name": "custom[1755]",
            "required": false,
            "multiple": false,
            "config": {
                "conditionals": []
            },
            "value": [],
            "textvalue": [],
            "price": 0,
            "recurring_price": 0,
            "setup": 0,
            "prorata_date": null,
            "items": [
                {
                    "title": "AFR",
                    "value": 1,
                    "id": 10952,
                    "price": 0,
                    "setup": 0,
                    "selected": false
                },
                {
                    "title": "ALB",
                    "value": 1,
                    "id": 10953,
                    "price": 0,
                    "setup": 0,
                    "selected": false
                },
                (...)
            ]
        }
    ]
}
HTTP Request GET /domain/order/@id/form
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
tld_id int

TLD ID

POST domain/order

Order new domain

Authentifiziert

Create new order for a domain, please check if requested domain is available first, otherwise your order may get cancelled.

Request-Beispiel
POST_DATA="{
    \"name\": \"example.com\",
    \"years\": 1,
    \"action\": \"register\",
    \"tld_id\": 42,
    \"pay_method\": 5,
    \"epp\": \"Syntax error\",
    \"nameservers\": [
        \"ns1.example.com\",
        {
            \"host\": \"ns2.example.com\",
            \"ip\": \"123.234.123.234\"
        }
    ],
    \"registrant\": 42,
    \"admin\": 43,
    \"tech\": 43,
    \"billing\": 42,
    \"data\": {
        \"1618\": {
            \"10330\": \"bar\"
        }
    },
    \"aff_id\": 55
}"

curl -X POST "https://fmsid.de/api/domain/order" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "name" => "example.com",
        "years" => 1,
        "action" => "register",
        "tld_id" => 42,
        "pay_method" => 5,
        "epp" => "Syntax error",
        "nameservers" => [
            "ns1.example.com",
            [
                "host" => "ns2.example.com",
                "ip" => "123.234.123.234"
            ]
        ],
        "registrant" => 42,
        "admin" => 43,
        "tech" => 43,
        "billing" => 42,
        "data" => [
            1618 => [
                10330 => "bar"
            ]
        ],
        "aff_id" => 55
    ]
]
$resp = $client->post('domain/order', $options);
echo $resp->getBody();
payload = {
    'name': "example.com",
    'years': 1,
    'action': "register",
    'tld_id': 42,
    'pay_method': 5,
    'epp': "Syntax error",
    'nameservers': [
        "ns1.example.com",
        {
            'host': "ns2.example.com",
            'ip': "123.234.123.234"
        }
    ],
    'registrant': 42,
    'admin': 43,
    'tech': 43,
    'billing': 42,
    'data': {
        '1618': {
            '10330': "bar"
        }
    },
    'aff_id': 55
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/domain/order', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "order_num": 563647679,
    "invoice_id": "308977",
    "total": "10.00",
    "items": {
        "id": "10",
        "type": "Domain Register",
        "name": "test.com",
        "product_id": "3"
    }
}
HTTP Request POST /domain/order
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
name string

Domain name

years string

Number of years

action string

register|transfer

tld_id string

TLD id

pay_method int

Payment method ID

epp string

EPP Transfer code, required when transfering some domains

nameservers array

Optional array with 2 - 4 nameservers that you want to use

registrant int

Optional contact ID to use for registrant contact this domain

admin int

Optional contact ID to use for admin contact this domain

tech int

Optional contact ID to use for tech contact this domain

billing int

Optional contact ID to use for billing contact this domain

data array

Addditional data required for some TLDs

aff_id int

Affiliate ID

POST domain/@id/renew

Renew domain

Authentifiziert

Create new renew order for a domain, please check if requested domain is available first, otherwise your order may get cancelled.

Request-Beispiel
POST_DATA="{
    \"years\": \"yearsValue\",
    \"pay_method\": \"pay_methodValue\"
}"

curl -X POST "https://fmsid.de/api/domain/@id/renew" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "years" => "yearsValue",
        "pay_method" => "pay_methodValue"
    ]
]
$resp = $client->post('domain/@id/renew', $options);
echo $resp->getBody();
payload = {
    'years': "yearsValue",
    'pay_method': "pay_methodValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/domain/@id/renew', json=payload, auth=auth)
print(req.json())
HTTP Request POST /domain/@id/renew
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
years string

Number of years

pay_method int

Payment method ID

Kategorie

SSL Certificates

GET certificate

List SSL Certificates

Authentifiziert

List all ssl services under your account

Request-Beispiel

curl -X GET "https://fmsid.de/api/certificate" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('certificate');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/certificate', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "sslservices": [
        {
            "id": "300",
            "domain": "examplename.com",
            "total": "27.85",
            "status": "Pending",
            "billingcycle": "Annually",
            "next_due": "2017-12-30",
            "category": "GoGetSSL",
            "category_url": "gogetssl",
            "name": "Comodo InstantSSL",
            "cert_email": "admin@example.com",
            "cert_status": "",
            "cert_expires": "2017-12-30 13:43:12"
        }
    ]
}
HTTP Request GET /certificate
Authentifizierung erforderlich
GET certificate/@service_id

Certificate details

Authentifiziert

Return details for certificate @service_id

Request-Beispiel

curl -X GET "https://fmsid.de/api/certificate/@service_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('certificate/@service_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/certificate/@service_id', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "service": {
        "id": "300",
        "date_created": "2016-12-30",
        "domain": "examplename.com",
        "firstpayment": "27.85",
        "total": "27.85",
        "billingcycle": "Annually",
        "next_due": "2017-12-30",
        "next_invoice": "2017-10-31",
        "status": "Pending",
        "label": "",
        "name": "Comodo InstantSSL",
        "cert_status": "",
        "cert_expires": "2017-12-30 13:43:12",
        "csr": "-----BEGIN CERTIFICATE REQUEST----- ...",
        "contacts": {
            "admin": {
                "FName": "Mary",
                "LName": "Sue",
                "City": "Santa Rosa",
                "State": "California",
                "PostalCode": "95401",
                "EmailAddress": "mary@example.com",
                "Country": "US",
                "Address1": "Pretty View Lane",
                "Address2": "3194",
                "Phone": 24123223,
                "OrgName": "n\/a",
                "PreFix": 1,
                "JobTitle": "n\/a"
            },
            "billing": {
                (...)
            },
            "tech": {
                (...)
            }
        },
        "organization": {
            "state": "Texas",
            "country": "US",
            "name": "My Org name",
            "unit": "Dev",
            "locality": "SanAntonio",
            "postalcode": "n\/a",
            "address2": "n\/a",
            "address1": "n\/a",
        },
        "cert_email": "admin@example.com",
        "software": "1"
    }
}
HTTP Request GET /certificate/@service_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service id

GET certificate/@service_id/crt

Download certificate

Authentifiziert

Return X.509 certificate data

Request-Beispiel

curl -X GET "https://fmsid.de/api/certificate/@service_id/crt" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('certificate/@service_id/crt');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/certificate/@service_id/crt', auth=auth)
print(req.json())
HTTP Request GET /certificate/@service_id/crt
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service id

GET certificate/order

List available certificates

Authentifiziert

Return a list with certificate available for purchase

Request-Beispiel

curl -X GET "https://fmsid.de/api/certificate/order" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('certificate/order');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/certificate/order', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "products": [
        {
            "id": "25",
            "name": "InstantSSL",
            "description": "",
            "periods": [
                {
                    "years": 1,
                    "price": 27.85,
                    "renew": 27.85
                },
                {
                    "years": 2,
                    "price": 48.75,
                    "renew": 48.75
                }
            ],
            "category": "SSL Certificates",
            "category_url": "sslcertificates"
        },
        (...)
    ]
}
HTTP Request GET /certificate/order
Authentifizierung erforderlich
GET certificate/order/@product_id/software

List server software for certificates

Authentifiziert

Return a list with software IDs required or certificate

Request-Beispiel

curl -X GET "https://fmsid.de/api/certificate/order/@product_id/software" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('certificate/order/@product_id/software');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/certificate/order/@product_id/software', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "software": [
        {
            "id": 0,
            "name": "AOL"
        },
        {
            "id": 1,
            "name": "Apache-SSL (Ben-SSL, not Stronghold)"
        },
        (...)
    ]
}
HTTP Request GET /certificate/order/@product_id/software
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
product_id int

Certificate product ID

POST certificate/order

Order new certificates

Authentifiziert

Create new order for a certificate

Request-Beispiel
POST_DATA="{
    \"product_id\": \"product_idValue\",
    \"csr\": \"example.com\",
    \"years\": \"yearsValue\",
    \"pay_method\": \"pay_methodValue\",
    \"approver_email\": \"approver_emailValue\",
    \"admin\": \"adminValue\",
    \"tech\": \"techValue\",
    \"billing\": \"billingValue\",
    \"organization\": \"organizationValue\",
    \"software\": \"softwareValue\",
    \"data\": \"dataValue\",
    \"aff_id\": 55
}"

curl -X POST "https://fmsid.de/api/certificate/order" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "product_id" => "product_idValue",
        "csr" => "example.com",
        "years" => "yearsValue",
        "pay_method" => "pay_methodValue",
        "approver_email" => "approver_emailValue",
        "admin" => "adminValue",
        "tech" => "techValue",
        "billing" => "billingValue",
        "organization" => "organizationValue",
        "software" => "softwareValue",
        "data" => "dataValue",
        "aff_id" => 55
    ]
]
$resp = $client->post('certificate/order', $options);
echo $resp->getBody();
payload = {
    'product_id': "product_idValue",
    'csr': "example.com",
    'years': "yearsValue",
    'pay_method': "pay_methodValue",
    'approver_email': "approver_emailValue",
    'admin': "adminValue",
    'tech': "techValue",
    'billing': "billingValue",
    'organization': "organizationValue",
    'software': "softwareValue",
    'data': "dataValue",
    'aff_id': 55
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/certificate/order', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "order_num": 873340994,
    "invoice_id": "308978",
    "total": "27.85",
    "items": {
        "id": "10",
        "type": "Hosting",
        "name": "test.com",
        "product_id": "3"
    }
}
HTTP Request POST /certificate/order
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
product_id int

Certificate product ID

csr string

Domain name

years int

Number of years

pay_method int

Payment method ID

approver_email string

Email addres used in domain validation

admin int

Admin contact ID

tech int

Tech contact ID

billing int

Billing contact ID

organization array

Organization details

software int

Server/Software ID

data array

Addditional data required for some products

aff_id int

Affiliate ID

Kategorie

Services

GET service

List services

Authentifiziert

List all services under your account

Request-Beispiel

curl -X GET "https://fmsid.de/api/service" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "services": [
        {
            "id": "301",
            "domain": "examplename.com",
            "total": "9.99",
            "status": "Pending",
            "billingcycle": "Monthly",
            "next_due": "2017-12-30",
            "category": "Hosting",
            "category_url": "hosting",
            "name": "Starter Hosting"
        }
    ]
}
HTTP Request GET /service
Authentifizierung erforderlich
GET service/@id

Service details

Authentifiziert

Return details for service @id

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "service": {
        "id": "301",
        "date_created": "2016-12-30",
        "domain": "examplename.com",
        "firstpayment": "9.99",
        "total": "9.99",
        "billingcycle": "Monthly",
        "next_due": "2017-12-30",
        "next_invoice": "2017-01-27",
        "status": "Active",
        "label": "",
        "username": "examplen",
        "password": "pdtzc",
        "name": "Starter Hosting"
    }
}
HTTP Request GET /service/@id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

GET service/@id/methods

List service methods

Authentifiziert

List methods available for service

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/methods" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/methods');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/methods', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "methods": [
        {
            "name": "Upgrade Request",
            "method": "POST",
            "route": "\/service\/@id\/upgrade"
        },
        {
            "name": "Upgrade Options",
            "method": "GET",
            "route": "\/service\/@id\/upgrade"
        },
        {
            "name": "Change service label",
            "method": "POST",
            "route": "\/service\/@id\/label"
        },
        {
            "name": "Service label",
            "method": "GET",
            "route": "\/service\/@id\/label"
        },
        {
            "name": "Cancel Service",
            "method": "POST",
            "route": "\/service\/@id\/cancel"
        }
    ]
}
HTTP Request GET /service/@id/methods
Authentifizierung erforderlich
GET service/@id/upgrade

Upgrade Options

Authentifiziert

List upgrade options

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/upgrade" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/upgrade');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/upgrade', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "resources": [
        {
            "id": 1557,
            "name": "Bandwidth",
            "type": "select",
            "items": [
                {
                    "id": "9953",
                    "name": "100 GB",
                    "price": 1,
                    "setup_price": 0,
                    "selected": true
                },
                {
                    "id": "10103",
                    "name": "500 GB",
                    "price": 5,
                    "setup_price": 0,
                    "selected": false
                },
                {
                    "id": "10104",
                    "name": "1 TB",
                    "price": 10,
                    "setup_price": 0,
                    "selected": false
                }
            ]
        }
    ],
    "package": []
}
HTTP Request GET /service/@id/upgrade
Authentifizierung erforderlich
POST service/@id/upgrade

Upgrade Request

Authentifiziert

Estimate or request upgrade

// Format of ''resources'' paremeter
{
    "resource_id" : "qty_value", // sliders & qty fields
    "resource_id" : "item_id", // dropdown & radio fields
    "resource_id" : {
        "item_id": "qty_value" // dropdown with qty field
    }
}
Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"resources\": \"resourcesValue\",
    \"package\": \"packageValue\",
    \"cycle\": \"cycleValue\",
    \"send\": \"sendValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/upgrade" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "resources" => "resourcesValue",
        "package" => "packageValue",
        "cycle" => "cycleValue",
        "send" => "sendValue"
    ]
]
$resp = $client->post('service/@id/upgrade', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'resources': "resourcesValue",
    'package': "packageValue",
    'cycle': "cycleValue",
    'send': "sendValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/upgrade', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/upgrade
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

resources array

array with resource values

package int

New package id, optonal when upgrading resources

cycle string

New billing cycle, optonal when upgrading resources

send boolean

Set to true when you want to send your upgrade request

POST service/@id/cancel

Cancel Service

Authentifiziert

Request service cancellation

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"immediate\": \"immediateValue\",
    \"reason\": \"reasonValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/cancel" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "immediate" => "immediateValue",
        "reason" => "reasonValue"
    ]
]
$resp = $client->post('service/@id/cancel', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'immediate': "immediateValue",
    'reason': "reasonValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/cancel', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
  "info": [
    "cancell_sent"
  ]
}
HTTP Request POST /service/@id/cancel
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

immediate string

set to false to terminate service at the end of billing date, true - terminate immediately

reason string

Reason for this request

GET service/@id/label

Service label

Authentifiziert

Show current service label

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/label" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/label');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/label', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "label": "example"
}
HTTP Request GET /service/@id/label
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

POST service/@id/label

Change service label

Authentifiziert

Set new custom label to identify this service

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"label\": \"labelValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/label" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "label" => "labelValue"
    ]
]
$resp = $client->post('service/@id/label', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'label': "labelValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/label', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "info": [
        "label_updated"
    ]
}
HTTP Request POST /service/@id/label
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

label string

New label

POST service/@id/renew

Manual Service Renew

Authentifiziert

Generate an invoice to renew the service.

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/renew" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue"
    ]
]
$resp = $client->post('service/@id/renew', $options);
echo $resp->getBody();
payload = {
    'id': "idValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/renew', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "status": true,
    "invoice_id": "504426",
    "info": [
        "manualrenew_ok"
    ]
}
HTTP Request POST /service/@id/renew
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

GET service/@id/cycle

List Billing Cycle

Authentifiziert

Get recurring billing cycle options

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/cycle" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/cycle');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/cycle', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "current": "m",
    "cycles": {
        "m": "14.95",
        "a": "179.40",
        "b": "358.80"
    }
}
HTTP Request GET /service/@id/cycle
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

POST service/@id/cycle

Change Billing Cycle

Authentifiziert

Change recurring billing cycle for the service

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"cycle\": \"cycleValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/cycle" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "cycle" => "cycleValue"
    ]
]
$resp = $client->post('service/@id/cycle', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'cycle': "cycleValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/cycle', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "info": [
        "changebillingcycle_ok"
    ]
}
HTTP Request POST /service/@id/cycle
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service id

cycle string

New billing cycle

GET service/@id/vms

List VMs

Authentifiziert

List virtual servers

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/vms" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/vms');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/vms', auth=auth)
print(req.json())
HTTP Request GET /service/@id/vms
Authentifizierung erforderlich
GET service/@id/vms/@vmid

Get VM Details

Authentifiziert

Get the details of a particular virtual server

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/vms/@vmid" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/vms/@vmid');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/vms/@vmid', auth=auth)
print(req.json())
HTTP Request GET /service/@id/vms/@vmid
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

POST service/@id/vms

Create VM

Authentifiziert

Add new virtual server

Request-Beispiel
POST_DATA="{
    \"label\": \"labelValue\",
    \"template\": \"templateValue\",
    \"memory\": \"memoryValue\",
    \"cpu\": \"cpuValue\",
    \"disk\": \"diskValue\",
    \"interface\": \"interfaceValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "label" => "labelValue",
        "template" => "templateValue",
        "memory" => "memoryValue",
        "cpu" => "cpuValue",
        "disk" => "diskValue",
        "interface" => "interfaceValue"
    ]
]
$resp = $client->post('service/@id/vms', $options);
echo $resp->getBody();
payload = {
    'label': "labelValue",
    'template': "templateValue",
    'memory': "memoryValue",
    'cpu': "cpuValue",
    'disk': "diskValue",
    'interface': "interfaceValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
label string

VM label

template string

Template ID

memory string

Amount of RAM memory in MB

cpu string

Amount of CPU cores

disk string

Disk Space in GB

interface array

Interface configuration

DELETE service/@id/vms/@vmid

Destroy VM

Authentifiziert

Remove virtual server

Request-Beispiel

curl -X DELETE "https://fmsid.de/api/service/@id/vms/@vmid" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->delete('service/@id/vms/@vmid');
echo $resp->getBody();

auth=('username', 'password')

req = requests.delete('https://fmsid.de/api/service/@id/vms/@vmid', auth=auth)
print(req.json())
HTTP Request DELETE /service/@id/vms/@vmid
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

PUT service/@id/vms/@vmid

Resize VM

Authentifiziert

Edit a virtual server

Request-Beispiel
POST_DATA="{
    \"vmid\": \"vmidValue\",
    \"memory\": \"memoryValue\",
    \"cpu\": \"cpuValue\"
}"

curl -X PUT "https://fmsid.de/api/service/@id/vms/@vmid" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "vmid" => "vmidValue",
        "memory" => "memoryValue",
        "cpu" => "cpuValue"
    ]
]
$resp = $client->put('service/@id/vms/@vmid', $options);
echo $resp->getBody();
payload = {
    'vmid': "vmidValue",
    'memory': "memoryValue",
    'cpu': "cpuValue"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/service/@id/vms/@vmid', json=payload, auth=auth)
print(req.json())
HTTP Request PUT /service/@id/vms/@vmid
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

memory string

Amount of RAM in MB

cpu string

Amount of CPU cores

POST service/@id/vms/@vmid/stop

Stop VM

Authentifiziert

Stop virtual server

Request-Beispiel
POST_DATA="{
    \"vmid\": \"vmidValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/stop" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "vmid" => "vmidValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/stop', $options);
echo $resp->getBody();
payload = {
    'vmid': "vmidValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/stop', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/stop
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

POST service/@id/vms/@vmid/start

Start VM

Authentifiziert

Start virtual server

Request-Beispiel
POST_DATA="{
    \"vmid\": \"vmidValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/start" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "vmid" => "vmidValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/start', $options);
echo $resp->getBody();
payload = {
    'vmid': "vmidValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/start', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/start
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

POST service/@id/vms/@vmid/shutdown

Shutdown VM

Authentifiziert

Perform graceful shutdown

Request-Beispiel
POST_DATA="{
    \"vmid\": \"vmidValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/shutdown" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "vmid" => "vmidValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/shutdown', $options);
echo $resp->getBody();
payload = {
    'vmid': "vmidValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/shutdown', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/shutdown
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

POST service/@id/vms/@vmid/reboot

Reboot VM

Authentifiziert

Reboot virtual server

Request-Beispiel
POST_DATA="{
    \"vmid\": \"vmidValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/reboot" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "vmid" => "vmidValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/reboot', $options);
echo $resp->getBody();
payload = {
    'vmid': "vmidValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/reboot', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/reboot
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

POST service/@id/vms/@vmid/reset

Reset VM

Authentifiziert

Reset virtual server power

Request-Beispiel
POST_DATA="{
    \"vmid\": \"vmidValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/reset" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "vmid" => "vmidValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/reset', $options);
echo $resp->getBody();
payload = {
    'vmid': "vmidValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/reset', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/reset
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
vmid string

Virtual server id

POST service/@id/vms/@vmid/hostname

Change VM Hostname

Authentifiziert

Update virtual machine hostname

Request-Beispiel
POST_DATA="{
    \"hostname\": \"hostnameValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/hostname" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "hostname" => "hostnameValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/hostname', $options);
echo $resp->getBody();
payload = {
    'hostname': "hostnameValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/hostname', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/hostname
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
hostname string

New hostname for the VM

POST service/@id/vms/@vmid/rebuild

Rebuild VM

Authentifiziert

Rebuild server, you can get list of templates supported by this server using '''/service/$id/templates'''

Request-Beispiel
POST_DATA="{
    \"template\": \"templateValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/rebuild" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "template" => "templateValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/rebuild', $options);
echo $resp->getBody();
payload = {
    'template': "templateValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/rebuild', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/rebuild
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
template string

Template ID

GET service/@id/vms/@vmid/ips

List IPs

Authentifiziert

List virtual machine IPs

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/vms/@vmid/ips" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/vms/@vmid/ips');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/vms/@vmid/ips', auth=auth)
print(req.json())
HTTP Request GET /service/@id/vms/@vmid/ips
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
type string

ipv4 or ipv6

iface int

Interface number [optional]

bridge string

Bridge name [optional, ignored if interface provided]

GET service/@id/vms/@vmid/ippool

List IP Pools

Authentifiziert

List IP pools for a specific interface or network bridge

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/vms/@vmid/ippool" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/vms/@vmid/ippool');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/vms/@vmid/ippool', auth=auth)
print(req.json())
HTTP Request GET /service/@id/vms/@vmid/ippool
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
iface int

Interface number [optional]

bridge string

Bridge name [optional, ignored if interface provided]

POST service/@id/vms/@vmid/ippool/@pool

Allocate IPs

Authentifiziert

Allocate new IP for network interface.

Request-Beispiel
POST_DATA="{
    \"pool\": \"poolValue\",
    \"type\": \"typeValue\",
    \"iface\": \"ifaceValue\",
    \"bridge\": \"bridgeValue\",
    \"number\": \"numberValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/ippool/@pool" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "pool" => "poolValue",
        "type" => "typeValue",
        "iface" => "ifaceValue",
        "bridge" => "bridgeValue",
        "number" => "numberValue"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/ippool/@pool', $options);
echo $resp->getBody();
payload = {
    'pool': "poolValue",
    'type': "typeValue",
    'iface': "ifaceValue",
    'bridge': "bridgeValue",
    'number': "numberValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/ippool/@pool', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/ippool/@pool
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
pool string|int

List ID to allocate new IP from

type string

ipv4 or ipv6

iface int

Interface number

bridge string

Bridge name [optional, ignored if interface provided]

number int

Number of IPs to allocate

GET service/@id/networks

List available networks

Authentifiziert

List of networks and IP pools that can be used for VM creation

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/networks" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/networks');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/networks', auth=auth)
print(req.json())
HTTP Request GET /service/@id/networks
Authentifizierung erforderlich
GET service/@id/vms/@vmid/interfaces

List VM Network Interfaces

Authentifiziert

Get network interfaces assigned to virtual server

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/vms/@vmid/interfaces" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/vms/@vmid/interfaces');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/vms/@vmid/interfaces', auth=auth)
print(req.json())
HTTP Request GET /service/@id/vms/@vmid/interfaces
Authentifizierung erforderlich
GET service/@id/vms/@vmid/interfaces/@iface

Get Network Interfaces

Authentifiziert

Get network Interface details

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/vms/@vmid/interfaces/@iface" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/vms/@vmid/interfaces/@iface');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/vms/@vmid/interfaces/@iface', auth=auth)
print(req.json())
HTTP Request GET /service/@id/vms/@vmid/interfaces/@iface
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
iface string

Interface name or id, ie '0' or 'net0'

PUT service/@id/vms/@vmid/interfaces/@iface

Update Network Interface

Authentifiziert

Update network interface details

Request-Beispiel
POST_DATA="{
    \"iface\": \"ifaceValue\",
    \"firewall\": \"firewallValue\",
    \"ipv4\": \"ipv4Value\",
    \"ipv6\": \"ipv6Value\"
}"

curl -X PUT "https://fmsid.de/api/service/@id/vms/@vmid/interfaces/@iface" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "iface" => "ifaceValue",
        "firewall" => "firewallValue",
        "ipv4" => "ipv4Value",
        "ipv6" => "ipv6Value"
    ]
]
$resp = $client->put('service/@id/vms/@vmid/interfaces/@iface', $options);
echo $resp->getBody();
payload = {
    'iface': "ifaceValue",
    'firewall': "firewallValue",
    'ipv4': "ipv4Value",
    'ipv6': "ipv6Value"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/service/@id/vms/@vmid/interfaces/@iface', json=payload, auth=auth)
print(req.json())
HTTP Request PUT /service/@id/vms/@vmid/interfaces/@iface
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
iface int

Interface number

firewall int

Enable or disable firewall (may require specific permissions)

ipv4 int[]

List of IP v4 IDs

ipv6 int[]

List of IP v6 IDs

POST service/@id/vms/@vmid/interfaces

Add Network Interface

Authentifiziert

Add new network interface to VM

Request-Beispiel
POST_DATA="{
    \"bridge\": \"bridgeValue\",
    \"firewall\": \"firewallValue\",
    \"ipv4\": \"ipv4Value\",
    \"ipv6\": \"ipv6Value\"
}"

curl -X POST "https://fmsid.de/api/service/@id/vms/@vmid/interfaces" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "bridge" => "bridgeValue",
        "firewall" => "firewallValue",
        "ipv4" => "ipv4Value",
        "ipv6" => "ipv6Value"
    ]
]
$resp = $client->post('service/@id/vms/@vmid/interfaces', $options);
echo $resp->getBody();
payload = {
    'bridge': "bridgeValue",
    'firewall': "firewallValue",
    'ipv4': "ipv4Value",
    'ipv6': "ipv6Value"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/vms/@vmid/interfaces', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/vms/@vmid/interfaces
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
bridge string

Network bridge

firewall int

Enable or disable firewall (may require specific permissions)

ipv4 int[]

List of IP v4 IDs

ipv6 int[]

List of IP v6 IDs

DELETE service/@id/vms/@vmid/interfaces/@iface

Remove Network Interface

Authentifiziert

Remove network interface from VM

Request-Beispiel

curl -X DELETE "https://fmsid.de/api/service/@id/vms/@vmid/interfaces/@iface" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->delete('service/@id/vms/@vmid/interfaces/@iface');
echo $resp->getBody();

auth=('username', 'password')

req = requests.delete('https://fmsid.de/api/service/@id/vms/@vmid/interfaces/@iface', auth=auth)
print(req.json())
HTTP Request DELETE /service/@id/vms/@vmid/interfaces/@iface
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
iface string|int

Interface name or id to remove

GET service/@id/templates

List OS templates

Authentifiziert

List templates that can be used to create virtual server

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/templates" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/templates');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/templates', auth=auth)
print(req.json())
HTTP Request GET /service/@id/templates
Authentifizierung erforderlich
GET service/@id/resources

Resources

Authentifiziert

Show available and used resources

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/resources" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/resources');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/resources', auth=auth)
print(req.json())
HTTP Request GET /service/@id/resources
Authentifizierung erforderlich
GET service/@id/ip

IP Addresses

Authentifiziert

List Service IP Addresses

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/ip" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/ip');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/ip', auth=auth)
print(req.json())
HTTP Request GET /service/@id/ip
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service ID

GET service/@id/rdns

Reverse DNS

Authentifiziert

Get reverse DNS entries for service's IP addresses

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/rdns" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/rdns');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/rdns', auth=auth)
print(req.json())
HTTP Request GET /service/@id/rdns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service ID

POST service/@id/rdns

Update rDNS

Authentifiziert

Update reverse DNS entries service's IP addresses

Request-Beispiel
POST_DATA="{
    \"id\": \"idValue\",
    \"ipaddress\": \"ipaddressValue\"
}"

curl -X POST "https://fmsid.de/api/service/@id/rdns" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "id" => "idValue",
        "ipaddress" => "ipaddressValue"
    ]
]
$resp = $client->post('service/@id/rdns', $options);
echo $resp->getBody();
payload = {
    'id': "idValue",
    'ipaddress': "ipaddressValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@id/rdns', json=payload, auth=auth)
print(req.json())
HTTP Request POST /service/@id/rdns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Service ID

ipaddress array

Use Ip address as parameter key and hostname as value

GET service/@id/bandwidth-graphs

Bandwidth Graph

Authentifiziert

Return base64 encoded images representing bandwidth usage for last day, week and month

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/bandwidth-graphs" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/bandwidth-graphs');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/bandwidth-graphs', auth=auth)
print(req.json())
HTTP Request GET /service/@id/bandwidth-graphs
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int
GET service/@id/bandwidth

Bandwidth Usage

Authentifiziert

Return bandwidth usage and billing details

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@id/bandwidth" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@id/bandwidth');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@id/bandwidth', auth=auth)
print(req.json())
HTTP Request GET /service/@id/bandwidth
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
id int

Kategorie

Cart

Most of API methods found here will require service @id, you can lookup your service ids with /service method

GET category

List product categories

Authentifiziert

Return a list of product categories.

Request-Beispiel

curl -X GET "https://fmsid.de/api/category" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('category');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/category', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "categories": [
        {
            "id": "10",
            "name": "Hosting",
            "description": "",
            "slug": "hosting"
        },
        {
            "id": "6",
            "name": "Domains",
            "description": "",
            "slug": "domains"
        },
        {
            "id": "16",
            "name": "Dedicated",
            "description": "",
            "slug": "dedicated"
        }
    ]
}
HTTP Request GET /category
Authentifizierung erforderlich
GET category/@category_id/product

List products in category

Authentifiziert

Return a list of product available for purchase under requested category

Request-Beispiel

curl -X GET "https://fmsid.de/api/category/@category_id/product" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('category/@category_id/product');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/category/@category_id/product', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "products": [
        {
            "id": "333",
            "type": "1",
            "name": "Starter Hosting",
            "stock": false,
            "paytype": "Regular",
            "description": "Disk:10GB<br>Memory:2GB<br>MySql:10 DB<br>Email:100 Users<br>",
            "qty": "0",
            "tags": [

            ],
            "periods": [
                {
                    "title": "m",
                    "value": "m",
                    "price": 9.99,
                    "setup": 0,
                    "selected": true
                },
                {
                    "title": "a",
                    "value": "a",
                    "price": 109.89,
                    "setup": 0,
                    "selected": false
                },
                {
                    "title": "b",
                    "value": "b",
                    "price": 199.8,
                    "setup": 0,
                    "selected": false
                },
                {
                    "title": "t",
                    "value": "t",
                    "price": 299.7,
                    "setup": 0,
                    "selected": false
                }
            ]
        },
        (...)
    ]
}
HTTP Request GET /category/@category_id/product
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
category_id int

Category ID

GET order/@product_id

Get product configuration details

Authentifiziert

Return product details with form configuration, addons and subproducts if available.

Request-Beispiel

curl -X GET "https://fmsid.de/api/order/@product_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('order/@product_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/order/@product_id', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "product": {
        "id": "333",
        "category_name": "Hosting",
        "category_id": "49",
        "name": "Starter Hosting",
        "price": 9.99,
        "recurring": "m",
        "setup": 0,
        "config": {
            "product": [
                {
                    "type": "select",
                    "title": "pickcycle",
                    "id": "cycle",
                    "name": "cycle",
                    "items": [
                        {
                            "title": "m",
                            "value": "m",
                            "price": 9.99,
                            "setup": 0,
                            "selected": true
                        },
                        {
                            "title": "a",
                            "value": "a",
                            "price": 109.89,
                            "setup": 0,
                            "selected": false
                        },
                        {
                            "title": "b",
                            "value": "b",
                            "price": 199.8,
                            "setup": 0,
                            "selected": false
                        },
                        {
                            "title": "t",
                            "value": "t",
                            "price": 299.7,
                            "setup": 0,
                            "selected": false
                        }
                    ],
                    "value": "m",
                    "price": 9.99,
                    "setup": 0
                },
                {
                    "type": "input",
                    "title": "domain",
                    "id": "domain",
                    "name": "domain",
                    "value": null
                }
            ],
            "forms": [
                {
                    "type": "select",
                    "title": "Disk Size",
                    "id": "1618",
                    "firstItemId": 10330,
                    "description": "",
                    "name": "custom[1618]",
                    "required": false,
                    "multiple": false,
                    "config": {
                        "conditionals": []
                    },
                    "value": [],
                    "textvalue": [],
                    "price": 0,
                    "recurring_price": 0,
                    "setup": 0,
                    "prorata_date": null,
                    "items": [
                        {
                            "title": "512MB",
                            "value": 1,
                            "id": 10330,
                            "price": 0,
                            "setup": 0,
                            "selected": false
                        },
                        {
                            "title": "1GB",
                            "value": 1,
                            "id": 10331,
                            "price": 0,
                            "setup": 0,
                            "selected": false
                        },
                        {
                            "title": "2GB",
                            "value": 1,
                            "id": 10332,
                            "price": 0,
                            "setup": 0,
                            "selected": false
                        }
                    ]
                },
                (...)
            ],
            "addons": [
                {
                    "type": "subitem",
                    "title": "Cpanel2: Add Extra IP",
                    "id": "31",
                    "value": null,
                    "description": "Automatically adds IP address to account",
                    "config": [
                        {
                            "type": "checkbox",
                            "title": "add",
                            "name": "addon[31]",
                            "checked": false
                        },
                        {
                            "type": "select",
                            "title": "billingcycle",
                            "name": "addon_cycles[31]",
                            "items": [
                                {
                                    "title": "m",
                                    "value": "m",
                                    "price": 5,
                                    "setup": 0,
                                    "selected": true
                                },
                                {
                                    "title": "q",
                                    "value": "q",
                                    "price": 20,
                                    "setup": 0,
                                    "selected": false
                                },
                                {
                                    "title": "a",
                                    "value": "a",
                                    "price": 50,
                                    "setup": 0,
                                    "selected": false
                                }
                            ]
                        }
                    ],
                    "price": 0,
                    "recurring_price": 0,
                    "setup": 0,
                    "prorata_date": null
                },
                (...)
            ],
            "subproducts": []
        },
        "recurring_price": 9.99,
        "prorata_date": null
    }
}
HTTP Request GET /order/@product_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
product_id int

Product ID

POST order/@product_id

Order new service

Authentifiziert

Create and submit new order for selected product.

To get available cycle and configuration options lookup product details using GET /order/@product_id

Request-Beispiel
POST_DATA="{
    \"product_id\": 12,
    \"domain\": \"example.com\",
    \"cycle\": \"m\",
    \"pay_method\": \"1\",
    \"custom\": {
        \"1618\": {
            \"10330\": 1
        }
    },
    \"promocode\": \"T346F\",
    \"aff_id\": 55
}"

curl -X POST "https://fmsid.de/api/order/@product_id" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "product_id" => 12,
        "domain" => "example.com",
        "cycle" => "m",
        "pay_method" => "1",
        "custom" => [
            1618 => [
                10330 => 1
            ]
        ],
        "promocode" => "T346F",
        "aff_id" => 55
    ]
]);

$resp = $client->post('order/@product_id', $options);
echo $resp->getBody();
payload = {
    'product_id': 12,
    'domain': "example.com",
    'cycle': "m",
    'pay_method': "1",
    'custom': {
        '1618': {
            '10330': 1
        }
    },
    'promocode': "T346F",
    'aff_id': 55
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/order/@product_id', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "order_num": 873340995,
    "invoice_id": "308979",
    "total": "9.99",
    "items": {
        "id": "10",
        "type": "Hosting",
        "name": "test.com",
        "product_id": "3"
    }
}
HTTP Request POST /order/@product_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
product_id int

Product ID

domain string

Domain name, ie. example.com, may be optional

cycle string

Billing period symbol

pay_method int

Payment method ID

custom array

Additional options data available for sop products

promocode string

Promotion code

aff_id int

Affiliate ID

POST order

Order multiple services

Authentifiziert

Create and submit new order for multiple services

Each item in the items array needs to include order type and parameters used by one of the method listed below:
• POST /order/$product_id - use product for item type
• POST /domain/order - use domain for item type
• POST /certificate/order - use certificate for item type

Request-Beispiel
POST_DATA="{
    \"pay_method\": 1,
    \"ignore_errors\": \"No error\",
    \"items\": [
        {
            \"type\": \"product\",
            \"product_id\": 1080,
            \"domain\": \"hosting.com\",
            \"cycle\": \"a\"
        },
        {
            \"type\": \"certificate\",
            \"product_id\": 840,
            \"csr\": \"-----BEGIN CERTIFICATE REQUEST----- (...)\",
            \"years\": 1,
            \"approver_email\": \"admin@hosting.com\"
        },
        {
            \"type\": \"domain\",
            \"tld_id\": 6,
            \"name\": \"hosting.com\",
            \"action\": \"register\",
            \"years\": 1,
            \"nameservers\": [],
            \"registrar\": 42,
            \"data\": []
        },
        {
            \"type\": \"domain\",
            \"domain_id\": 1002,
            \"action\": \"renew\",
            \"years\": 1
        }
    ],
    \"aff_id\": 55
}"

curl -X POST "https://fmsid.de/api/order" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "pay_method" => 1,
        "ignore_errors" => "No error",
        "items" => [
            [
                "type" => "product",
                "product_id" => 1080,
                "domain" => "hosting.com",
                "cycle" => "a"
            ],
            [
                "type" => "certificate",
                "product_id" => 840,
                "csr" => "-----BEGIN CERTIFICATE REQUEST----- (...)",
                "years" => 1,
                "approver_email" => "admin@hosting.com"
            ],
            [
                "type" => "domain",
                "tld_id" => 6,
                "name" => "hosting.com",
                "action" => "register",
                "years" => 1,
                "nameservers" => [

                ],
                "registrar" => 42,
                "data" => [

                ]
            ],
            [
                "type" => "domain",
                "domain_id" => 1002,
                "action" => "renew",
                "years" => 1
            ]
        ],
        "aff_id" => 55
    ]
]
$resp = $client->post('order', $options);
echo $resp->getBody();
payload = {
    'pay_method': 1,
    'ignore_errors': "No error",
    'items': [
        {
            'type': "product",
            'product_id': 1080,
            'domain': "hosting.com",
            'cycle': "a"
        },
        {
            'type': "certificate",
            'product_id': 840,
            'csr': "-----BEGIN CERTIFICATE REQUEST----- (...)",
            'years': 1,
            'approver_email': "admin@hosting.com"
        },
        {
            'type': "domain",
            'tld_id': 6,
            'name': "hosting.com",
            'action': "register",
            'years': 1,
            'nameservers': [],
            'registrar': 42,
            'data': []
        },
        {
            'type': "domain",
            'domain_id': 1002,
            'action': "renew",
            'years': 1
        }
    ],
    'aff_id': 55
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/order', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "order_num_list": [
        179534732,
        179534732,
        179534732
    ],
    "invoice_id": "503425",
    "total": "94.40",
    "items": [
        {
            "type": "Hosting",
            "id": "1025",
            "name": "hosting.com",
            "product_id": "1080"
        },
        {
            "type": "Hosting",
            "id": "1026",
            "name": "hosting.com",
            "product_id": "840"
        },
        {
            "type": "Domain Register",
            "id": "354",
            "name": "hosting.com",
            "product_id": "6"
        }
    ]
}
HTTP Request POST /order
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
pay_method int

Payment method ID

ignore_errors bool

Process order even if some of the items were rejected due to errors

items array

list with order items

aff_id int

Affiliate ID

POST quote

Get order quote

Authentifiziert

Calculate order cost and recurring prices for selected items. Use the same parameters as for POST /order

Request-Beispiel
POST_DATA="{
    \"pay_method\": \"pay_methodValue\",
    \"output\": \"short\",
    \"items\": [
        {
            \"type\": \"product\",
            \"product_id\": 1080,
            \"domain\": \"hosting.com\",
            \"cycle\": \"a\"
        },
        {
            \"type\": \"certificate\",
            \"product_id\": 840,
            \"csr\": \"-----BEGIN CERTIFICATE REQUEST----- (...)\",
            \"years\": 1,
            \"approver_email\": \"admin@hosting.com\"
        },
        {
            \"type\": \"domain\",
            \"tld_id\": 6,
            \"name\": \"hosting.com\",
            \"action\": \"register\",
            \"years\": 1,
            \"nameservers\": [],
            \"registrar\": 42,
            \"data\": []
        },
        {
            \"type\": \"domain\",
            \"domain_id\": 1002,
            \"action\": \"renew\",
            \"years\": 1
        }
    ]
}"

curl -X POST "https://fmsid.de/api/quote" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "pay_method" => "pay_methodValue",
        "output" => "short",
        "items" => [
            [
                "type" => "product",
                "product_id" => 1080,
                "domain" => "hosting.com",
                "cycle" => "a"
            ],
            [
                "type" => "certificate",
                "product_id" => 840,
                "csr" => "-----BEGIN CERTIFICATE REQUEST----- (...)",
                "years" => 1,
                "approver_email" => "admin@hosting.com"
            ],
            [
                "type" => "domain",
                "tld_id" => 6,
                "name" => "hosting.com",
                "action" => "register",
                "years" => 1,
                "nameservers" => [

                ],
                "registrar" => 42,
                "data" => [

                ]
            ],
            [
                "type" => "domain",
                "domain_id" => 1002,
                "action" => "renew",
                "years" => 1
            ]
        ]
    ]
]
$resp = $client->post('quote', $options);
echo $resp->getBody();
payload = {
    'pay_method': "pay_methodValue",
    'output': "short",
    'items': [
        {
            'type': "product",
            'product_id': 1080,
            'domain': "hosting.com",
            'cycle': "a"
        },
        {
            'type': "certificate",
            'product_id': 840,
            'csr': "-----BEGIN CERTIFICATE REQUEST----- (...)",
            'years': 1,
            'approver_email': "admin@hosting.com"
        },
        {
            'type': "domain",
            'tld_id': 6,
            'name': "hosting.com",
            'action': "register",
            'years': 1,
            'nameservers': [],
            'registrar': 42,
            'data': []
        },
        {
            'type': "domain",
            'domain_id': 1002,
            'action': "renew",
            'years': 1
        }
    ]
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/quote', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "summary": {
        "subtotal": 72.2,
        "total": 88.81,
        "credit": 0,
        "discount": 0,
        "cost": 72.2,
        "recurring": [
            {
                "title": "Annually",
                "price": 81.18,
                "value": "a"
            },
            {
                "title": "Monthly",
                "price": 1.48,
                "value": "m"
            }
        ],
        "tax": [
            {
                "name": "VAT",
                "tax": 16.61,
                "value": 23
            }
        ]
    },
    "items": [
        {
            "product": {
                "id": 1080,
                "category_name": "SSL",
                "category_id": 69,
                "name": "GeoTrust QuickSSL Premium",
                "domain": "test.api",
                (...)
            },
            "domains": {
                (...)
            },
            "coupon": {},
            "index": 0,
            "valid": true,
            "info": [],
            "error": []
        },
        {
            "product": {
                "id": 840,
                "category_name": "Proxmox",
                "category_id": 19,
                "name": "VPS",
                "domain": "user.test.api",
                (...)
            },
            "domains": {
                (...)
            },
            "coupon": {},
            "index": 1,
            "valid": true,
            "info": [],
            "error": []
        },
        {
            "product": null,
            "domains": {
                "hosting.com": {
                    "id": 6,
                    "index": 0,
                    "category_id": "6",
                    "category_name": "Domains",
                    "name": "hosting.com",
                    "tld": ".com",
                    "period": 1,
                    "price": "12.00",
                    (...) 
                }
            },
            "coupon": {},
            "index": 2,
            "valid": true,
            "info": [],
            "error": []
        }
    ]
}
HTTP Request POST /quote
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
pay_method int

Payment method ID

output string

Type of output, default is short. Possible options

  • short - Basic details about the item in cart
  • config- Basic details and form components
  • full - All details available in cart
items array

list with order items

Kategorie

DNS

GET dns

List DNS

Authentifiziert

Returns a list of all DNS

Request-Beispiel

curl -X GET "https://fmsid.de/api/dns" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('dns');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/dns', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "service_ids": [
        "10",
        "20"
    ],
    "zones": [
        {
            "domain_id": "60",
            "name": "qwerty.com",
            "service_id": "10"
        },
        {
            "domain_id": "61",
            "name": "bgg12ooble.com",
            "service_id": "20"
        }
    ]
}
HTTP Request GET /dns
Authentifizierung erforderlich
POST service/@service_id/dns

Add DNS Zone

Authentifiziert

Creates a new DNS zone

Request-Beispiel
POST_DATA="{
    \"service_id\": \"service_idValue\",
    \"name\": \"testzone.com\",
    \"comment\": \"My zone comment\"
}"

curl -X POST "https://fmsid.de/api/service/@service_id/dns" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "service_id" => "service_idValue",
        "name" => "testzone.com",
        "comment" => "My zone comment"
    ]
]
$resp = $client->post('service/@service_id/dns', $options);
echo $resp->getBody();
payload = {
    'service_id': "service_idValue",
    'name': "testzone.com",
    'comment': "My zone comment"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@service_id/dns', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "info": [
        "Domain zone testzone.com was created successfully."
    ]
}
HTTP Request POST /service/@service_id/dns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

name string

Zone name

comment string

Zone comment

GET service/@service_id/dns

List DNS for service

Authentifiziert

Returns a list of DNS zones under the service

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@service_id/dns" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@service_id/dns');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@service_id/dns', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "error": [
        "invalid method"
    ]
}
HTTP Request GET /service/@service_id/dns
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

GET service/@service_id/dns/@zone_id

Get DNS details

Authentifiziert

Returns details of the DNS zone

Request-Beispiel

curl -X GET "https://fmsid.de/api/service/@service_id/dns/@zone_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('service/@service_id/dns/@zone_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/service/@service_id/dns/@zone_id', auth=auth)
print(req.json())
Beispiel-Antwort
{
    "service_id": 10,
    "name": "qwerty.com",
    "comment": "My zone comment",
    "records": [
      {
        "id":"10",
        "name":"qwerty",
        "ttl":1800,
        "priority":0,
        "content":"127.0.0.1",
        "type":"A"
      },
      {
        "id":"11",
        "name":"qwerty",
        "ttl":1800,
        "priority":0,
        "content":"ns1.qwerty.com",
        "type":"NS"
      }
    ]
}
HTTP Request GET /service/@service_id/dns/@zone_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

zone_id int

Zone ID

PUT service/@service_id/dns/@zone_id

Edit DNS Zone

Authentifiziert

Updates the comment of the selected DNS zone

Request-Beispiel
POST_DATA="{
    \"service_id\": \"service_idValue\",
    \"zone_id\": \"zone_idValue\",
    \"comment\": \"My zone comment\"
}"

curl -X PUT "https://fmsid.de/api/service/@service_id/dns/@zone_id" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "service_id" => "service_idValue",
        "zone_id" => "zone_idValue",
        "comment" => "My zone comment"
    ]
]);

$resp = $client->put('service/@service_id/dns/@zone_id', $options);
echo $resp->getBody();
payload = {
    'service_id': "service_idValue",
    'zone_id': "zone_idValue",
    'comment': "My zone comment"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/service/@service_id/dns/@zone_id', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "success": true,
    "info": [
        "Domain zone updated successfully."
    ]
}
HTTP Request PUT /service/@service_id/dns/@zone_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

zone_id int

Zone ID

comment string

Zone comment

DELETE service/@service_id/dns/@zone_id

Remove DNS zone

Authentifiziert

Deletes the selected DNS zone

Request-Beispiel

curl -X DELETE "https://fmsid.de/api/service/@service_id/dns/@zone_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->delete('service/@service_id/dns/@zone_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.delete('https://fmsid.de/api/service/@service_id/dns/@zone_id', auth=auth)
print(req.json())
Beispiel-Antwort
{
   "info": [
     "Domain zone testzone.com was deleted successfully."
   ]
}
HTTP Request DELETE /service/@service_id/dns/@zone_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

zone_id int

Zone ID

POST service/@service_id/dns/@zone_id/records

Add DNS Record

Authentifiziert

Creates a new record in the DNS zone

Request-Beispiel
POST_DATA="{
    \"service_id\": \"service_idValue\",
    \"zone_id\": \"zone_idValue\",
    \"name\": \"example.com\",
    \"ttl\": 3600,
    \"priority\": 10,
    \"type\": \"A\",
    \"content\": \"192.168.1.2\",
    \"comment\": \"My record comment\"
}"

# OR ...

POST_DATA="{
    \"service_id\": \"service_idValue\",
    \"zone_id\": \"zone_idValue\",
    \"name\": \"_sip._tcp.example.com\",
    \"ttl\": 3600,
    \"priority\": 10,
    \"type\": \"SRV\",
    \"content\": [
        10,
        5060,
        \"vc01.example.com\"
    ],
    \"comment\": \"My record comment\"
}"

curl -X POST "https://fmsid.de/api/service/@service_id/dns/@zone_id/records" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "service_id" => "service_idValue",
        "zone_id" => "zone_idValue",
        "name" => "example.com",
        "ttl" => 3600,
        "priority" => 10,
        "type" => "A",
        "content" => "192.168.1.2",
        "comment" => "My record comment"
    ]
]);

// OR ...

$options = [
    'json' => [
        "service_id" => "service_idValue",
        "zone_id" => "zone_idValue",
        "name" => "_sip._tcp.example.com",
        "ttl" => 3600,
        "priority" => 10,
        "type" => "SRV",
        "content" => [
            10,
            5060,
            "vc01.example.com"
        ],
        "comment" => "My record comment"
    ]
]);

$resp = $client->post('service/@service_id/dns/@zone_id/records', $options);
echo $resp->getBody();
payload = {
    'service_id': "service_idValue",
    'zone_id': "zone_idValue",
    'name': "example.com",
    'ttl': 3600,
    'priority': 10,
    'type': "A",
    'content': "192.168.1.2",
    'comment': "My record comment"
}

# OR ...

payload = {
    'service_id': "service_idValue",
    'zone_id': "zone_idValue",
    'name': "_sip._tcp.example.com",
    'ttl': 3600,
    'priority': 10,
    'type': "SRV",
    'content': [
        10,
        5060,
        "vc01.example.com"
    ],
    'comment': "My record comment"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/service/@service_id/dns/@zone_id/records', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "record": {
      "name": "_sip._tcp.example.com",
      "type": "SRV",
      "ttl": "3600",
      "priority": "10",
      "content": [
        10,
        5060,
        "vc01.example.com"
      ]
    },
    "info": [
        "dnsnewrecordadded",
        "SRV"
    ]
}
HTTP Request POST /service/@service_id/dns/@zone_id/records
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

zone_id int

Zone ID

name string

Record name

ttl int

Record ttl

priority int

Priority of the record

type string

Record type

content string

Contents of the record

comment string

Optional comment for the record

PUT service/@service_id/dns/@zone_id/records/@record_id

Edit DNS Record

Authentifiziert

Edits the selected DNS zone record.

Note: Depending on the service, updating a record may change its ID. If you need to edit the same record again, re-list the zone records first to obtain its current ID.

Request-Beispiel
POST_DATA="{
    \"service_id\": \"service_idValue\",
    \"zone_id\": \"zone_idValue\",
    \"record_id\": \"record_idValue\",
    \"name\": \"example.com\",
    \"ttl\": 3600,
    \"priority\": 10,
    \"type\": \"A\",
    \"content\": \"192.168.1.2\",
    \"comment\": \"My record comment\"
}"

curl -X PUT "https://fmsid.de/api/service/@service_id/dns/@zone_id/records/@record_id" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "service_id" => "service_idValue",
        "zone_id" => "zone_idValue",
        "record_id" => "record_idValue",
        "name" => "example.com",
        "ttl" => 3600,
        "priority" => 10,
        "type" => "A",
        "content" => "192.168.1.2",
        "comment" => "My record comment"
    ]
]
$resp = $client->put('service/@service_id/dns/@zone_id/records/@record_id', $options);
echo $resp->getBody();
payload = {
    'service_id': "service_idValue",
    'zone_id': "zone_idValue",
    'record_id': "record_idValue",
    'name': "example.com",
    'ttl': 3600,
    'priority': 10,
    'type': "A",
    'content': "192.168.1.2",
    'comment': "My record comment"
}

auth=('username', 'password')

req = requests.put('https://fmsid.de/api/service/@service_id/dns/@zone_id/records/@record_id', json=payload, auth=auth)
print(req.json())
Beispiel-Antwort
{
    "record": {
        "id": "55",
        "type": "A",
        "ttl": "3600",
        "name": "test",
        "priority": 0,
        "content": "192.168.1.2"
    },
    "info": [
        "The record was updated successfully."
    ]
}
HTTP Request PUT /service/@service_id/dns/@zone_id/records/@record_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

zone_id int

Zone ID

record_id string

Record ID

name string

Record name

ttl int

Record ttl

priority int

Priority of the record

type string

Record type

content string

Contents of the record

comment string

Optional comment for the record

DELETE service/@service_id/dns/@zone_id/records/@record_id

Remove DNS Record

Authentifiziert

Removes the selected DNS zone record

Request-Beispiel

curl -X DELETE "https://fmsid.de/api/service/@service_id/dns/@zone_id/records/@record_id" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->delete('service/@service_id/dns/@zone_id/records/@record_id');
echo $resp->getBody();

auth=('username', 'password')

req = requests.delete('https://fmsid.de/api/service/@service_id/dns/@zone_id/records/@record_id', auth=auth)
print(req.json())
HTTP Request DELETE /service/@service_id/dns/@zone_id/records/@record_id
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
service_id int

Service ID

zone_id int

Zone ID

record_id int

Record ID

Kategorie

Services

GET sms/billing

SMS Account billing

Authentifiziert

Return billing details of sms account assigned with your profile

Request-Beispiel

curl -X GET "https://fmsid.de/api/sms/billing" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('sms/billing');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/sms/billing', auth=auth)
print(req.json())
HTTP Request GET /sms/billing
Authentifizierung erforderlich
GET sms/history

SMS History

Authentifiziert

Return sent sms history

Request-Beispiel

curl -X GET "https://fmsid.de/api/sms/history" \
   -u user:pass 
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);


$resp = $client->get('sms/history');
echo $resp->getBody();

auth=('username', 'password')

req = requests.get('https://fmsid.de/api/sms/history', auth=auth)
print(req.json())
HTTP Request GET /sms/history
Authentifizierung erforderlich
POST sms/send

Send SMS

Authentifiziert

Send text message using your SMS account.

Request-Beispiel
POST_DATA="{
    \"to\": \"toValue\",
    \"from\": \"fromValue\",
    \"text\": \"textValue\"
}"

curl -X POST "https://fmsid.de/api/sms/send" \
   -u user:pass \
   -H "Content-Type: application/json" \
   -d "${POST_DATA}"
use GuzzleHttp\Client;

$client = new Client([
    'base_uri' => 'https://fmsid.de/api/',
    'auth' => ['username', 'password']
]);

$options = [
    'json' => [
        "to" => "toValue",
        "from" => "fromValue",
        "text" => "textValue"
    ]
]
$resp = $client->post('sms/send', $options);
echo $resp->getBody();
payload = {
    'to': "toValue",
    'from': "fromValue",
    'text': "textValue"
}

auth=('username', 'password')

req = requests.post('https://fmsid.de/api/sms/send', json=payload, auth=auth)
print(req.json())
HTTP Request POST /sms/send
Authentifizierung erforderlich

Parameter

Parameter Typ Beschreibung
to string

Phone number to send message to

from string

Phone number to send message from

text string

Text message body to send