Domains

GET /v1/domains

List domains

Returns a list of domains matching the optional query parameter

Example
$ curl --header "Authorization: Bearer {token}" \
       --header "Accept: application/json" \
       https://api.checkdomain.de/v1/domains
Response
HTTP/1.1 200 OK
{
    "page": 1,
    "limit": 10,
    "pages": 1,
    "total": 1,
    "_links": {
        "self": {
            "href": "/v1/domains?page=1&limit=10"
        },
        "first": {
            "href": "/v1/domains?page=1&limit=10"
        },
        "last": {
            "href": "/v1/domains?page=1&limit=10"
        }
    },
    "_embedded": {
        "domains": [
            {
                "id": 1,
                "name": "checkdomain-api.de",
                "created": "2017-11-03T00:00:00+0200",
                "usage": "standby",
                "active": true,
                "_links": {
                    "self": {
                        "href": "/v1/domains/1"
                    },
                    "articles": {
                        "href": "/v1/articles/1"
                    }
                }
            }
        ]
    }
}
Filters
Name Type Required Description
query string Domain name
status string Domain status
page integer Page to retrieve
limit integer Domains per page
Response
Name Type Required Description
root Show properties collection Yes array of objects (Domain)
Properties of Domain
Name Type Required Description
id integer Identifier
name string Domain name
created DateTime Date of registration
usage string Current usage
active boolean Domain status
GET /v1/domains/{domain}

Get domain

Returns a single domain with detailed information

Example
$ curl --header "Authorization: Bearer {token}" \
       --header "Accept: application/json" \
       https://api.checkdomain.de/v1/domains/{domain}
Response
HTTP/1.1 200 OK
{
    "id": 1,
    "name": "checkdomain-api.de",
    "created": "2017-10-03T00:00:00+0200",
    "payed_up": "2018-10-02T00:00:00+0200",
    "expires_on": null,
    "transfer": "inactive",
    "transfer_code": null,
    "usage": "standby",
    "active": true,
    "contacts": {
        "owner": {
            "identifier": "CD1101-001",
            "_links": {
                "self": {
                    "href": "/v1/contacts/1"
                }
            }
        }
    },
    "_links": {
        "self": {
            "href": "/v1/domains/1"
        },
        "articles": {
            "href": "/v1/articles/1"
        }
    }
}
Requirements
Name Type Required Description
domain integer (\d+) Domain identifier
Response
Name Type Required Description
id integer Identifier
name string Domain name
created DateTime Date of registration
payed_up DateTime Payed until
expires_on DateTime Expires on
transfer string Flag whether a transfer is active or inactive
transfer_code string Auth code
usage string Current usage
active boolean Domain status
Status-Codes
Code Description
200 Ok
404 Domain not found

Post

Create a domain

POST /v1/domains

Create a domain

This method creates and registers a new domain name for the current customer.

Domain registration process

If your request succeeds the response code will be 204: No Content and the registration process for your domain name will start. This is an asynchronous process which will take a few seconds. You will be informed via the /notifications API endpoint of the overall success of your domain registration.

Specifying domain contacts

To specify domain contacts use the contacts field. The domain contact you want to use has to exist in advance because you need to know the unique contact identifier to specify the contact in the request.

Tech and zone handles

Remember, that tech and zone handles are only available for some customers. Usually you only need to specifiy owner and admin handles.

Domain create

$ curl --header "Authorization: Bearer {token}" \
       --header "Accept: application/json" \
       --header "Content-Type: application/json" \
       --data "{Request Data}" \
       --request POST \
       https://api.checkdomain.de/v1/domains
Request Data
{
    "name": "domain-create.de",
    "contacts": {
        "owner": "CD1101-001"
    }
}
Response
HTTP/1.1 204 No Content
Location: /v1/domains/10001

Domain transfer

$ curl --header "Authorization: Bearer {token}" \
       --header "Accept: application/json" \
       --header "Content-Type: application/json" \
       --data "{Request Data}" \
       --request POST \
       https://api.checkdomain.de/v1/domains
Request Data
{
  "name": "domain-transfer.de",
  "auth_code": "custom-auth-code"
}
Response
HTTP/1.1 204 No Content
Location: /v1/domains/20002
Parameters
Name Type Required Description
name string Yes Domain name to register or transfer
auth_code string Auth-Code only neccessary for domain transfers
contacts Show properties model object (ContactCollection)
Properties of ContactCollection
Name Type Required Description
owner string Owner handle identifier
admin string Admin handle identifier
tech string Tech handle identifier
zone string Zone handle identifier
Status-Codes
Code Description
204 Domain registration started successfully
400 Validation failed
500 Something on our end went wrong
PATCH /v1/domains/{domain}

Update a domain

This endpoint allows you to change domain contacts for a specified domain. Note that this can lead to costs for some top-level-domains. Use the GET /articles endpoint to get information about the costs for a domain update.

Example
$ curl --header "Authorization: Bearer {token}" \
       --header "Accept: application/json" \
       --request PATCH \
       https://api.checkdomain.de/v1/domains/{domain}
Response
HTTP/1.1 204 No Content
Requirements
Name Type Required Description
domain integer (\d+) Domain identifier
Parameters
Name Type Required Description
contacts Show properties model model
Properties of model
Name Type Required Description
owner string Optional owner handle identifier
admin string Optional Admin handle identifier
tech string Optional Tech handle identifier
zone string Optional Zone handle identifier
Status-Codes
Code Description
204 No Content
400 Validation failed
404 Domain not found
500 Something on our end went wrong