User API

API Reference NAV
Intermax Cloudsourcing B.V.

    Introduction

    Our HTTP REST API allows you to manage vital details of your account and services in client portal. JSON is used for all API returns

    Use left menu to browse trough available methods, use right menu to check required parameters, data to post and code samples in various languages.

    Swagger Doc: You can download or display the JSON to generate documentation in Swagger.

    Authentication

    JSON Web Token Authentication

    curl 'https://domeinmanager.intermax.nl/api/login' \
        -d username="username"\
        -d password="password"
    
    # grab authentication token from the response and pass it in Authorization header
    curl 'https://domeinmanager.intermax.nl/api/details' \
        -H "Authorization: Bearer $token"
    
    $resp = $client->post('login', [
        'form_params' => [
            'username' => 'username',
            'password' => 'password'
        ]
    ]);
    
    $token = $resp->json()['token'];
    
    $resp = $client->get('details', [
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    echo $resp->getBody();
    payload = username
    resp = requests.post('https://domeinmanager.intermax.nl/api/login', data=payload)
    
    headers = {
        'Authorization': 'Bearer ' + req.json().token
    }
    resp = requests.get('https://domeinmanager.intermax.nl/api/details', headers=headers)
    print(resp)

    Make sure to replace username and password with your client area details.

    To authenticate, you need to send a JSON Web Token (JWT) in the authorization header of the HTTP request.

    To obtain the authorization token you need to submit a request with your username and password to POST https://domeinmanager.intermax.nl/api/login API method

    All API calls that require authentication expect HTTP header in the form of Authorization: Bearer <token>.

    For example:
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc...

    Basic Authentication

    # pass the correct header with each request (-u option)
    curl 'https://domeinmanager.intermax.nl/api/details' \
        -u "username:password"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'auth' => ['username', 'password']
    ]);
    
    $resp = $client->get('details');
    # python requests module handles basic authentication if provided with auth parameter
    payload = username
    req = requests.get('https://domeinmanager.intermax.nl/api/details', auth=('username', 'password'))
    print(req.json())

    Make sure to replace username and password with your client area details.

    This authentication method requires that you send your client area username (email address) and password with each request.

    API calls that require authentication expect a header in the form of Authorization: Basic <credentials>, where credentials is the Base64 encoding of username and password joined by a single colon :.

    For example:
    Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

    You can find more info on this authentication method here: Basic HTTP Authentication

    Clientarea

    Login

    Generate new authorization token

    POST_DATA="{
        \"username\": \"user@example.com\",
        \"password\": \"secret\"
    }"
    
    curl -X POST "https://domeinmanager.intermax.nl/api/login" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/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://domeinmanager.intermax.nl/api/login', json=payload)
    print(req.json())
    Example Response:
    {
        "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

    Query Parameters

    Parameter Type Description
    username string

    Your acount email address

    password string

    Account password

    Request MFA

    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

    POST_DATA="{
        \"method\": \"email_mfa\",
        \"params\": \"No error\"
    }"
    
    curl -X POST "https://domeinmanager.intermax.nl/api/mfa/challenge" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/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://domeinmanager.intermax.nl/api/mfa/challenge', json=payload)
    print(req.json())
    Example Response:
    {
        "expected_payload": {
            "type": "object",
            "required": [
                "code"
            ],
            "properties": {
                "code": {
                    "type": "string",
                    "description": "The code to verify"
                }
            }
        }
    }

    HTTP Request

    POST /mfa/challenge

    Query Parameters

    Parameter Type Description
    method string

    The MFA method to use.

    params mixed

    Paramtters for specific MFA methods.

    Verify MFA

    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

    POST_DATA="{
        \"method\": \"email_mfa\",
        \"payload\": {
            \"code\": \"123456\"
        }
    }"
    
    curl -X POST "https://domeinmanager.intermax.nl/api/mfa/verify" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/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://domeinmanager.intermax.nl/api/mfa/verify', json=payload)
    print(req.json())
    Example Response:
    {
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtZmFA(...)HGCeVZ0-ikvglYi8U41UPAr6G7Q",
        "expires_at": 1786125589,
        "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodH(...)UlbKlgssysGnCZXwZ46uD7B4THk",
        "refresh_expires_at": 1793897989,
        "mfa": null
    }

    HTTP Request

    POST /mfa/verify

    Query Parameters

    Parameter Type Description
    method string

    The MFA method to use.

    payload mixed

    Data used for MFA method

    Logout

    Invalidate authorization token

    
    curl -X POST "https://domeinmanager.intermax.nl/api/logout" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->post('logout');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.post('https://domeinmanager.intermax.nl/api/logout', headers=headers)
    print(req.json())
    Example Response:
    {
        "status": true
    }

    HTTP Request

    POST /logout

    Refresh Token

    Generate new authorization token using refresh token

    POST_DATA="{
        \"refresh_token\": \"refresh_tokenValue\"
    }"
    
    curl -X POST "https://domeinmanager.intermax.nl/api/token" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
    ]);
    
    $options = [
        'json' => [
            "refresh_token" => "refresh_tokenValue"
        ]
    ]
    $resp = $client->post('token', $options);
    echo $resp->getBody();
    payload = {
        'refresh_token': "refresh_tokenValue"
    }
    
    
    req = requests.post('https://domeinmanager.intermax.nl/api/token', json=payload)
    print(req.json())
    Example Response:
    {
        "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHR(...)vY2xlYiHGvauCWZD9B0VwXgHEzXDllqY",
        "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJBQ(...)Rmivc_u3YA_kgDqOPtUuGNXOzueXYtZw"
    }

    HTTP Request

    POST /token

    Query Parameters

    Parameter Type Description
    refresh_token string

    Refresh token previously obtained from POST /login

    Revoke Token

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

    POST_DATA="{
        \"refresh_token\": \"refresh_tokenValue\"
    }"
    
    curl -X POST "https://domeinmanager.intermax.nl/api/revoke" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
    ]);
    
    $options = [
        'json' => [
            "refresh_token" => "refresh_tokenValue"
        ]
    ]
    $resp = $client->post('revoke', $options);
    echo $resp->getBody();
    payload = {
        'refresh_token': "refresh_tokenValue"
    }
    
    
    req = requests.post('https://domeinmanager.intermax.nl/api/revoke', json=payload)
    print(req.json())
    Example Response:
    {
        "status": true
    }

    HTTP Request

    POST /revoke

    Query Parameters

    Parameter Type Description
    refresh_token string

    User Details

    Return registration details for my account

    
    curl -X GET "https://domeinmanager.intermax.nl/api/details" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('details');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/details', headers=headers)
    print(req.json())
    Example Response:
    {
        "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

    Domains

    Get registered nameservers

    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.

    
    curl -X GET "https://domeinmanager.intermax.nl/api/domain/@id/reg" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('domain/@id/reg');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/domain/@id/reg', headers=headers)
    print(req.json())

    HTTP Request

    GET /domain/@id/reg

    Query Parameters

    Parameter Type Description
    id int

    Domain id

    Billing

    Get Add Funds Information

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

    
    curl -X GET "https://domeinmanager.intermax.nl/api/addfunds" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('addfunds');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/addfunds', headers=headers)
    print(req.json())
    Example Response:
    {
     "min_amount": 10.00,
     "max_amount": 1000.00,
     "gateways": [
       {"id": 1, "name": "Bank Transfer"},
       {"id": 2, "name": "PayPal"}
     ]
    }

    HTTP Request

    GET /addfunds

    Add Funds

    Generate add funds invoice

    POST_DATA="{
        \"amount\": \"100.00\",
        \"gateway\": \"gatewayValue\"
    }"
    
    curl -X POST "https://domeinmanager.intermax.nl/api/addfunds" \
       -H "Authorization: Bearer $token" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    $options = [
        'json' => [
            "amount" => "100.00",
            "gateway" => "gatewayValue"
        ]
    ]
    $resp = $client->post('addfunds', $options);
    echo $resp->getBody();
    payload = {
        'amount': "100.00",
        'gateway': "gatewayValue"
    }
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.post('https://domeinmanager.intermax.nl/api/addfunds', json=payload, headers=headers)
    print(req.json())
    Example Response:
    {
     "success": true,
     "invoice_id": 123
    }

    HTTP Request

    POST /addfunds

    Query Parameters

    Parameter Type Description
    amount number

    Amount to add to account

    gateway number

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

    Invoice PDF

    Get specific invoice PDF as base64 string

    
    curl -X GET "https://domeinmanager.intermax.nl/api/invoice/@id/pdf" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('invoice/@id/pdf');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/invoice/@id/pdf', headers=headers)
    print(req.json())

    HTTP Request

    GET /invoice/@id/pdf

    SSL Certificates

    Certificate details

    Return details for certificate @service_id

    
    curl -X GET "https://domeinmanager.intermax.nl/api/certificate/@service_id" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('certificate/@service_id');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/certificate/@service_id', headers=headers)
    print(req.json())
    Example Response:
    {
        "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

    Query Parameters

    Parameter Type Description
    service_id int

    Service id

    Download certificate

    Return X.509 certificate data

    
    curl -X GET "https://domeinmanager.intermax.nl/api/certificate/@service_id/crt" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('certificate/@service_id/crt');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/certificate/@service_id/crt', headers=headers)
    print(req.json())

    HTTP Request

    GET /certificate/@service_id/crt

    Query Parameters

    Parameter Type Description
    service_id int

    Service id

    Services

    List Billing Cycle

    Get recurring billing cycle options

    
    curl -X GET "https://domeinmanager.intermax.nl/api/service/@id/cycle" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('service/@id/cycle');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/service/@id/cycle', headers=headers)
    print(req.json())
    Example Response:
    {
        "current": "m",
        "cycles": {
            "m": "14.95",
            "a": "179.40",
            "b": "358.80"
        }
    }

    HTTP Request

    GET /service/@id/cycle

    Query Parameters

    Parameter Type Description
    id int

    Service id

    Change Billing Cycle

    Change recurring billing cycle for the service

    POST_DATA="{
        \"id\": \"idValue\",
        \"cycle\": \"cycleValue\"
    }"
    
    curl -X POST "https://domeinmanager.intermax.nl/api/service/@id/cycle" \
       -H "Authorization: Bearer $token" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    $options = [
        'json' => [
            "id" => "idValue",
            "cycle" => "cycleValue"
        ]
    ]
    $resp = $client->post('service/@id/cycle', $options);
    echo $resp->getBody();
    payload = {
        'id': "idValue",
        'cycle': "cycleValue"
    }
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.post('https://domeinmanager.intermax.nl/api/service/@id/cycle', json=payload, headers=headers)
    print(req.json())
    Example Response:
    {
        "success": true,
        "info": [
            "changebillingcycle_ok"
        ]
    }

    HTTP Request

    POST /service/@id/cycle

    Query Parameters

    Parameter Type Description
    id int

    Service id

    cycle string

    New billing cycle

    DNS

    List DNS

    Returns a list of all DNS

    
    curl -X GET "https://domeinmanager.intermax.nl/api/dns" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('dns');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/dns', headers=headers)
    print(req.json())
    Example Response:
    {
        "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

    List DNS for service

    Returns a list of DNS zones under the service

    
    curl -X GET "https://domeinmanager.intermax.nl/api/service/@service_id/dns" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('service/@service_id/dns');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/service/@service_id/dns', headers=headers)
    print(req.json())
    Example Response:
    {
        "error": [
            "invalid method"
        ]
    }

    HTTP Request

    GET /service/@service_id/dns

    Query Parameters

    Parameter Type Description
    service_id int

    Service ID

    Get DNS details

    Returns details of the DNS zone

    
    curl -X GET "https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->get('service/@service_id/dns/@zone_id');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.get('https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id', headers=headers)
    print(req.json())
    Example Response:
    {
        "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

    Query Parameters

    Parameter Type Description
    service_id int

    Service ID

    zone_id int

    Zone ID

    Edit DNS Zone

    Updates the comment of the selected DNS zone

    POST_DATA="{
        \"service_id\": \"service_idValue\",
        \"zone_id\": \"zone_idValue\",
        \"comment\": \"My zone comment\"
    }"
    
    curl -X PUT "https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id" \
       -H "Authorization: Bearer $token" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    $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"
    }
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.put('https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id', json=payload, headers=headers)
    print(req.json())
    Example Response:
    {
        "success": true,
        "info": [
            "Domain zone updated successfully."
        ]
    }

    HTTP Request

    PUT /service/@service_id/dns/@zone_id

    Query Parameters

    Parameter Type Description
    service_id int

    Service ID

    zone_id int

    Zone ID

    comment string

    Zone comment

    Add DNS Record

    Creates a new record in the DNS zone

    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://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id/records" \
       -H "Authorization: Bearer $token" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    $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"
    }
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.post('https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id/records', json=payload, headers=headers)
    print(req.json())
    Example Response:
    {
        "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

    Query Parameters

    Parameter Type Description
    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

    Edit DNS Record

    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.

    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://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id/records/@record_id" \
       -H "Authorization: Bearer $token" \
       -H "Content-Type: application/json" \
       -d "${POST_DATA}"
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    $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"
    }
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.put('https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id/records/@record_id', json=payload, headers=headers)
    print(req.json())
    Example Response:
    {
        "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

    Query Parameters

    Parameter Type Description
    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

    Remove DNS Record

    Removes the selected DNS zone record

    
    curl -X DELETE "https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id/records/@record_id" \
       -H "Authorization: Bearer $token" 
    use GuzzleHttp\Client;
    
    $client = new Client([
        'base_uri' => 'https://domeinmanager.intermax.nl/api/',
        'headers' => [
            'Authorization' => 'Bearer ' . $token
        ]
    ]);
    
    
    $resp = $client->delete('service/@service_id/dns/@zone_id/records/@record_id');
    echo $resp->getBody();
    
    headers = {
        'Authorization': 'Bearer ' + token
    }
    
    req = requests.delete('https://domeinmanager.intermax.nl/api/service/@service_id/dns/@zone_id/records/@record_id', headers=headers)
    print(req.json())

    HTTP Request

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

    Query Parameters

    Parameter Type Description
    service_id int

    Service ID

    zone_id int

    Zone ID

    record_id int

    Record ID