Returns a list of active domains.
Response-Params
| Feld | Datentyp | Beschreibung |
|---|---|---|
| data[].id | int | Domain ID |
| data[].domain | string | Domain name |
| data[].domain_idn | string | Domain name in IDN format |
| data[].firstamount | float | First payment amount |
| data[].recurringamount | float | Recurring payment amount |
| data[].status | string | Domain status (Active, Pending, Pending Transfer, Expired, Cancelled, Transferred Away, Fraud) |
| data[].register_date | string | Domain registration date |
| data[].next_due_date | string | Domain expiry date |
| data[].next_due_human | string | Domain expiry date in human readable format |
-G 'https://api.pph.sh/client/domains' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": [
{
"id": 6129,
"domain": "clientify.de",
"domain_idn": "clientify.de",
"firstamount": 8.99,
"recurringamount": 8.99,
"status": "Active",
"register_date": "2022-08-24T22:00:00.000000Z",
"next_due_date": "2023-08-24T22:00:00.000000Z",
"next_due_in": 203,
"next_due_human": "in 6 Monaten"
},
{
"id": 5373,
"domain": "pph.sh",
"domain_idn": "pph.sh",
"firstamount": 0,
"recurringamount": 0,
"status": "Expired",
"register_date": "2021-12-26T23:00:00.000000Z",
"next_due_date": "2023-12-26T23:00:00.000000Z",
"next_due_in": 327,
"next_due_human": "in 10 Monaten"
},
{
"id": 5250,
"domain": "nathix.de",
"domain_idn": "nathix.de",
"firstamount": 0,
"recurringamount": 0,
"status": "Expired",
"register_date": "2021-11-05T23:00:00.000000Z",
"next_due_date": "2023-11-05T23:00:00.000000Z",
"next_due_in": 276,
"next_due_human": "in 9 Monaten"
},
{
"id": 5082,
"domain": "pph.systems",
"domain_idn": "pph.systems",
"firstamount": 4.99,
"recurringamount": 11.99,
"status": "Expired",
"register_date": "2021-08-31T22:00:00.000000Z",
"next_due_date": "2022-08-31T22:00:00.000000Z",
"next_due_in": 154,
"next_due_human": "vor 5 Monaten"
},
{
"id": 4953,
"domain": "trashmail-api.de",
"domain_idn": "trashmail-api.de",
"firstamount": 0,
"recurringamount": 0,
"status": "Expired",
"register_date": "2021-07-14T22:00:00.000000Z",
"next_due_date": "2024-07-14T22:00:00.000000Z",
"next_due_in": 528,
"next_due_human": "in 1 Jahr"
},
{
"id": 4040,
"domain": "\u00fcbertragungsdauer.de",
"domain_idn": "xn--bertragungsdauer-izb.de",
"firstamount": 0,
"recurringamount": 0,
"status": "Expired",
"register_date": "2020-07-15T22:00:00.000000Z",
"next_due_date": "2022-07-15T22:00:00.000000Z",
"next_due_in": 201,
"next_due_human": "vor 6 Monaten"
}
]
}
Returns information about a single domain.
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to get information about. Example: 4040 required |
Response-Params
| Feld | Datentyp | Beschreibung |
|---|---|---|
| data.id | int | Domain ID |
| data.domain | string | Domain name |
| data.domain_idn | string | Domain name in IDN format |
| data.firstamount | float | First payment amount |
| data.recurringamount | float | Recurring payment amount |
| data.status | string | Domain status (Active, Pending, Expired, etc.) |
| data.register_date | string | Domain registration date |
| data.next_due_date | string | Domain expiry date |
| data.next_due_human | string | Domain expiry date in human readable format |
-G 'https://api.pph.sh/client/domains/<domainId>' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": {
"id": 6129,
"domain": "clientify.de",
"domain_idn": "clientify.de",
"firstamount": 8.99,
"recurringamount": 8.99,
"status": "Active",
"register_date": "2022-08-24T22:00:00.000000Z",
"next_due_date": "2023-08-24T22:00:00.000000Z",
"next_due_in": 203,
"next_due_human": "in 6 Monaten"
}
}
Returns a list of invoices connected to a domain
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to get invoice from. Example: 4040 required |
-G 'https://api.pph.sh/client/domains/<domainId>/invoices' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": [
{
"id": 203625,
"duedate": "2022-08-24T22:00:00.000000Z",
"datepaid": "2022-08-25T14:38:57.000000Z",
"date": "2022-08-24T22:00:00.000000Z",
"subtotal": 7.55,
"credit": 8.99,
"tax": 1.44,
"taxrate": 19,
"total": 8.99,
"status": "Paid",
"status_label": "Bezahlt",
"is_open": false,
"items": [
{
"id": 235213,
"invoiceid": 203625,
"type": "DomainRegister",
"short_description": "Domainregistrierung - clientify.de - 1 Jahr(e) (25.08.2022 - 24.08.2023)",
"description": "Domainregistrierung - clientify.de - 1 Jahr(e) (25.08.2022 - 24.08.2023)",
"relid": 6129,
"amount": 8.99,
"taxed": 1,
"donation": false
}
],
"donation_invoice": false,
"resources": {
"invoice": "https:\/\/api.pph.sh\/client\/invoices\/203625",
"download": "https:\/\/api.pph.sh\/client\/invoices\/203625\/download"
}
}
],
"links": {
"first": "https:\/\/fsn-01.api.pph.sh\/client\/domains\/6129\/invoices?page=1",
"last": "https:\/\/fsn-01.api.pph.sh\/client\/domains\/6129\/invoices?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https:\/\/fsn-01.api.pph.sh\/client\/domains\/6129\/invoices?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"path": "https:\/\/fsn-01.api.pph.sh\/client\/domains\/6129\/invoices",
"per_page": 15,
"to": 1,
"total": 1
}
}
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | The Domain ID. Example: 4040 |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/redirect/subdomains' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": {
"domain": "6129",
"subDomains": []
}
}
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | The Domain ID. Example: 4040 |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/redirect' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": {
"redirects": []
}
}
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | The Domain ID. Example: 4040 |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/redirect/build' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
Returns a domains nameservers as set by the registrar.
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to get information about. Example: 4040 |
Response-Params
| Feld | Datentyp | Beschreibung |
|---|---|---|
| nameservers | array | The nameservers of the domain |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/nameserver' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": {
"domain": "clientify.de",
"nameservers": [
"ns1.kramer-dns.de",
"ns2.kramer-dns.de",
"ns3.kramer-dns.de"
]
}
}
Set the nameservers of a domain.
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to set the nameservers for. Example: 4040 required |
Body-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| nameservers | string[] | List of nameservers. A minimum of 2 is required. A maximum of 5 is possible. required |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/nameserver' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | The | domain id. Example: 4040 |
Query-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| nameserver | The | first nameserver. Example: ns1.kramer-dns.de |
Response-Params
| Feld | Datentyp | Beschreibung |
|---|---|---|
| data.nameservers | array | The nameservers as responded by the first NS |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/nameserver/autocomplete' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": {
"nameservers": [
"ns1.kramer-dns.de",
"ns2.kramer-dns.de",
"ns3.kramer-dns.de"
]
}
}
Returns a list of DNS records in kramer-dns for a domain.
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to get information about. Example: 4040 required |
Query-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| all | bool | Whether to return all records, including hidden (non updatable) records (NS, SOA) |
Response-Params
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domain | string | Domain name |
| records | object[] | DNS records |
| records[].id | DNS | record ID |
| records[].name | DNS | record name |
| records[].full_name | DNS | record full name |
| records[].type | DNS | record type |
| records[].content | DNS | record content |
| records[].ttl | DNS | record ttl |
| records[].editable | Whether | this dns record is editable |
| records[].priority | DNS | record priority |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/records' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": {
"domain": "clientify.de",
"records": [
{
"id": 328030,
"name": "www",
"full_name": "www.clientify.de",
"type": "A",
"content": "127.0.0.1",
"last_changed": 1669977296,
"ttl": 86400,
"editable": true
},
{
"id": 328035,
"name": "mail",
"full_name": "mail.clientify.de",
"type": "A",
"content": "127.0.0.1",
"last_changed": 1669977296,
"ttl": 86400,
"editable": true
},
{
"id": 332275,
"name": "local",
"full_name": "local.clientify.de",
"type": "A",
"content": "217.249.40.72",
"last_changed": 1675127889,
"ttl": 3800,
"editable": true
},
{
"id": 328038,
"name": "",
"full_name": "clientify.de",
"type": "A",
"content": "127.0.0.1",
"last_changed": 1669977296,
"ttl": 86400,
"editable": true
},
{
"id": 328037,
"name": "*",
"full_name": "*.clientify.de",
"type": "A",
"content": "127.0.0.1",
"last_changed": 1669977296,
"ttl": 86400,
"editable": true
},
{
"id": 332274,
"name": "local",
"full_name": "local.clientify.de",
"type": "AAAA",
"content": "2003:db:57ff:7e9:66fd:96ff:fe4b:933d",
"last_changed": 1675127889,
"ttl": 3800,
"editable": true
},
{
"id": 328039,
"name": "webmail",
"full_name": "webmail.clientify.de",
"type": "CNAME",
"content": "webmail.kramer-hosting.de",
"last_changed": 1669977296,
"ttl": 86400,
"editable": true
},
{
"id": 328036,
"name": "",
"full_name": "clientify.de",
"type": "MX",
"content": "mail.clientify.de",
"last_changed": 1669977296,
"ttl": 86400,
"editable": true,
"priority": 10
},
{
"id": 328033,
"name": "",
"full_name": "clientify.de",
"type": "NS",
"content": "ns1.kramer-dns.de",
"last_changed": 1669977296,
"ttl": 86400,
"editable": false
},
{
"id": 328034,
"name": "",
"full_name": "clientify.de",
"type": "NS",
"content": "ns2.kramer-dns.de",
"last_changed": 1669977296,
"ttl": 86400,
"editable": false
},
{
"id": 328040,
"name": "",
"full_name": "clientify.de",
"type": "NS",
"content": "ns3.kramer-dns.de",
"last_changed": 1669977296,
"ttl": 86400,
"editable": false
},
{
"id": 328031,
"name": "",
"full_name": "clientify.de",
"type": "SOA",
"content": "ns1.kramer-dns.de. hostmaster.kramer-dns.de. 2022120200 43200 7200 1209600 86400",
"last_changed": 1669977296,
"ttl": 43200,
"editable": false
},
{
"id": 328032,
"name": "",
"full_name": "clientify.de",
"type": "SOA",
"content": "ns1.kramer-dns.de. hostmaster.kramer-dns.de. 2023013103 43200 7200 1209600 86400",
"last_changed": 1675127889,
"ttl": 86400,
"editable": false
},
{
"id": 328041,
"name": "_dmarc",
"full_name": "_dmarc.clientify.de",
"type": "TXT",
"content": "\"v=DMARC1; p=none\"",
"last_changed": 1669977296,
"ttl": 86400,
"editable": true,
"txt": []
}
]
}
}
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | The | domain id. Example: 4040 |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/connect' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
{
"data": [
{
"id": 41986,
"label": "92351-62462.pph-server.de",
"product": "KVM Root Server",
"ips": [
"45.145.225.180"
]
},
{
"id": 41905,
"label": "88836-41003.pph-server.de",
"product": "KVM Root Server",
"ips": [
"45.84.199.31"
]
},
{
"id": 41922,
"label": "88042-41003.pph-server.de",
"product": "KVM Root Server",
"ips": [
"45.84.199.118"
]
}
]
}
Query-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| reset | boolean | Whether the DNS should be reset before. |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/connect/<hostingId>' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
You can automatically connect minecraft and teamspeak servers with your domain without losing its possibility to connect to another server (like a webpage) in the browser.
This will create a new A-Record in the domain and use it in the target field for the srv record.
Example: Connect domain.com with 127.0.0.1:25565
-> Creates new A-Record with "name" mc-127-0-0-1.domain.com and content 127.0.0.1
-> Creates new SRV-Record with "name" $subdomain and content 0 25565 mc-127-0-0-1.domain.com
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to get information about. Example: 4040 required |
Body-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| type | string | The srv type. One of: minecraft, teamspeak. Example: minecraft |
| subdomain | string | The subdomain to use. Defaults to empty. |
| ip | string | The target IP. You can specify a domain name, whose A-Record IP will be used. Example: 127.0.0.1 |
| port | string | The target port. Must be greater than 0 and lower than 65565. Example: 25565 |
| skip_a_record | boolean | Skip automatically creating an A-Record for this target. Can only be used when ip is a resolvable hostname. Defaults to false. |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/srv' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID. Example: 4040 required |
Body-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| record[name] | string | The record name. Example: minecraft |
| record[content] | string | The record content. Example: 127.0.0.1 |
| record[type] | string | The record type. Example: A |
| record[priority] | string | The record priority. Example: 0 |
| record[ttl] | string | The record ttl. Example: 1880 |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/create' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
Updates a single kramer dns record for a domain.
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to get information about. Example: 4040 required |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/update' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
Replaces an IP address with another IP address in all dns records.
URL-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| domainId | int | Domain ID to get information about. Example: 4040 required |
Body-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| old_ip | string | The old ip. Example: 149.202.17.134 required |
| new_ip | string | The new ip. Example: 51.89.85.77 required |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/replace-ip' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
Permanently removes a dns record from kramer dns for a domain
Body-Parameter
| Feld | Datentyp | Beschreibung |
|---|---|---|
| record.id | int | Record ID to remove. Example: 4040 required |
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/delete' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
Completely resets dns records in kramer dns for a domain
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/reset' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/import' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq
-G 'https://api.pph.sh/client/domains/<domainId>/dns/record/export' \
-H 'Authorization: Bearer ${ACCESS_TOKEN}' \
-H 'Content-Type=application/json' \
-H 'Accept=application/json' \
-H 'Accept-Language=de; *;q=0.5' | jq