Introduction
Bienvenue sur l'API KifDom.
Ce guide d'utilisation décrit les différentes méthodes accessibles via l'API.
L'API a été conçue pour faciliter l'accès à notre base et vous permettre d'interagir avec certains de ses aspects.
Cette documentation vise à fournir toutes les informations dont vous aurez besoin pour travailler avec notre API.
Authentification des requêtes
Authentification
Obtenir un token d'autentification
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/auth/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "myemail@provider.com",
"password": "%z*b_MgZv<8f2Uy7R"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://www.kifdom.com/api/v1/auth/login',
[
'headers' => [
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'email' => 'myemail@provider.com',
'password' => '%z*b_MgZv<8f2Uy7R',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/auth/login'
payload = {
"email": "myemail@provider.com",
"password": "%z*b_MgZv<8f2Uy7R"
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
curl --request POST \
"https://www.kifdom.com/api/v1/auth/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"myemail@provider.com\",
\"password\": \"%z*b_MgZv<8f2Uy7R\"
}"
Réponse d'exemple (200):
{
"access_token": "{YOUR_API_TOKEN}",
"token_type": "bearer",
"expires_in": 3600
}
Réponse d'exemple (401):
{
"error": {
"code": 401,
"message": "Unauthorized."
}
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
access_token
string
Le token d'autorisation, obligatoire pour interroger les endpoints marqués du tag requires authentication.
Dans les exemples, il est représenté par la chaine {YOUR_AUTH_KEY}
.
token_type
string
Le type d'autorisation par le biais de laquelle le token d'authorisation peut être utilisé.
Le token d'autorisation doit être envoyé dans l'en-tête Authorization
sous la forme :Authorization: Bearer {YOUR_AUTH_KEY}
.
expires_in
integer
La durée de vie du token d'autorisation en secondes (3600 secondes = 1 heure).
Rafraichir le token d'autentification
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/auth/refresh"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://www.kifdom.com/api/v1/auth/refresh',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/auth/refresh'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
curl --request POST \
"https://www.kifdom.com/api/v1/auth/refresh" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"access_token": "{YOUR_API_TOKEN}",
"token_type": "bearer",
"expires_in": 3600
}
Réponse d'exemple (401):
{
"message": "Unauthenticated."
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
access_token
string
Le token d'autorisation, obligatoire pour interroger les endpoints marqués du tag requires authentication.
Dans les exemples, il est représenté par la chaine {YOUR_AUTH_KEY}
.
token_type
string
Le type d'autorisation par le biais de laquelle le token d'authorisation peut être utilisé.
Le token d'autorisation doit être envoyé dans l'en-tête Authorization
sous la forme :Authorization: Bearer {YOUR_AUTH_KEY}
.
expires_in
integer
La durée de vie du token d'autorisation en secondes (3600 secondes = 1 heure).
Afficher le compte utilisateur
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/auth/me"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://www.kifdom.com/api/v1/auth/me',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/auth/me'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
curl --request POST \
"https://www.kifdom.com/api/v1/auth/me" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"code": 200,
"message": "User successfully retrieved.",
"data": {
"email": "{YOUR_EMAIL}",
"first_name": "{YOUR_FIRST_NAME}",
"last_name": "{YOUR_LAST_NAME}",
"address": "{YOUR_ADDRESS}",
"postcode": "{YOUR_POSTCODE}",
"city": "{YOUR_CITY}",
"country": "{YOUR_COUNTRY_CODE}",
"phone": "{YOUR_PHONE_NUMBER}"
}
}
Réponse d'exemple (401):
{
"message": "Unauthenticated."
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
data
object
Données de la réponse.
email
L'adresse email de l'utilisateur.
first_name
Le prénom de l'utilisateur.
last_name
Le nom de famille de l'utilisateur.
address
L'adresse de résidence de l'utilisateur.
postcode
Le code postal de résidence de l'utilisateur.
city
La ville de résidence de l'utilisateur.
country
Le pays de résidence de l'utilisateur.
phone
Le numéro de téléphone de l'utilisateur.
Détruire le token d'autentification (déconnexion)
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/auth/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://www.kifdom.com/api/v1/auth/logout',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/auth/logout'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers)
response.json()
curl --request POST \
"https://www.kifdom.com/api/v1/auth/logout" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"message": "Successfully logged out."
}
Réponse d'exemple (401):
{
"message": "Unauthenticated."
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
message
string
Message de la réponse.
Noms de domaine
Afficher la liste de vos domaines
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/domains"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://www.kifdom.com/api/v1/domains',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/domains'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
--get "https://www.kifdom.com/api/v1/domains" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": [
{
"name": "mydomain1.fr",
"punycode_name": "mydomain1.fr",
"status": "active",
"renew": false,
"kifdns": true,
"dns": [
{
"id": 54321,
"type": "A",
"name": "@",
"data": "111.33.444.22",
"ttl": 1800
},
{
"id": 54322,
"type": "CNAME",
"name": "www",
"data": "myblog.fr",
"ttl": 1800
},
{
"id": 54323,
"type": "MX",
"name": "@",
"data": "mailhost1.example.com",
"priority": 10,
"ttl": 1800
},
{
"id": 54324,
"type": "MX",
"name": "@",
"data": "mailhost2.example.com",
"priority": 20,
"ttl": 1800
}
],
"registry_ends_at": "2023-03-01T00:00:00Z",
"label": "MyDomain1"
},
{
"name": "mydomain2.fr",
"punycode_name": "mydomain2.fr",
"status": "outgoing_transfer",
"renew": false,
"kifdns": false,
"ns": [
{
"id": 65432,
"type": "NS",
"name": null,
"data": "ns1.myhostingcompany.net",
"priority": null,
"ttl": 1800
},
{
"id": 65433,
"type": "NS",
"name": null,
"data": "ns2.myhostingcompany.net",
"priority": null,
"ttl": 1800
}
],
"registry_ends_at": "2023-03-01T00:00:00Z",
"label": "MyDomain2"
}
...ETC...
]
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des noms de domaine dans le portefeuille de l'utilisateur.
name
string
Le nom de domaine.
punycode_name
string
Le nom de domaine au format punycode (pour les noms de domaine accentués).
status
string
Le statut du nom de domaine.
renew
boolean
Le status de l'auto-renouvellement du nom de domaine (true = Oui| false = Non).
kifdns
boolean
L'utilisation des serveurs de noms (NS) de KifDom (true = Oui| false = Non).
ns
object
Liste des enregistrements de type NS personnalisés du nom de domaine, absent si les serveurs de noms de KifDom sont utilisés.
id
integer
L'identifiant de l'enregistrement DNS de type NS.
type
string
Le type de l'enregistrement DNS de type NS (toujours égal à "NS").
name
string
Le nom de l'enregistrement DNS de type NS.
data
string
La valeur de l'enregistrement DNS de type NS.
ttl
integer
Le TTL (Time To Live) de l'enregistrement DNS de type NS.
dns
object
Liste des enregistrements DNS du nom de domaine.
id
integer
L'identifiant de l'enregistrement DNS de type non-NS.
type
string
Le type de l'enregistrement DNS de type non-NS (peut être A, AAAA, CNAME, MX ou TXT).
name
string
Le nom de l'enregistrement DNS de type non-NS.
data
string
La valeur de l'enregistrement DNS de type non-NS.
priority
integer
Le niveau de priorité, présent uniquement si l'enregistrement DNS est de type MX (plus la valeur est faible, plus la priorité est élevée).
ttl
integer
Le TTL (Time To Live) de l'enregistrement DNS de type non-NS.
registry_ends_at
boolean
La date d'expiration du nom de domaine.
label
string|null
Le label associé au nom de domaine (peut être null).
Créer un nom de domaine
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/domains"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "mydomain.fr",
"renewable": 0,
"label": "MyDomain."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://www.kifdom.com/api/v1/domains',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'name' => 'mydomain.fr',
'renewable' => 0,
'label' => 'MyDomain.',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/domains'
payload = {
"name": "mydomain.fr",
"renewable": 0,
"label": "MyDomain."
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
curl --request POST \
"https://www.kifdom.com/api/v1/domains" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"mydomain.fr\",
\"renewable\": 0,
\"label\": \"MyDomain.\"
}"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": {
"code": 200,
"message": "Domain name successfully created."
}
}
Réponse d'exemple (400):
{
"meta": {
"on-hold": 20,
"total-domains": 14,
"credits-balance": 1350,
"error": true
},
"error": {
"code": 400,
"message": "The `price` parameter should be an integer."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
Affiche un domaine
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/domains/mydomain.fr"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://www.kifdom.com/api/v1/domains/mydomain.fr',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/domains/mydomain.fr'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
--get "https://www.kifdom.com/api/v1/domains/mydomain.fr" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"domain": {
"name": "mydomain1.fr",
"punycode_name": "mydomain1.fr",
"status": "active",
"renew": false,
"kifdns": true,
"dns": [
{
"id": 54321,
"type": "A",
"name": "@",
"data": "111.33.444.22",
"ttl": 1800
},
{
"id": 54322,
"type": "CNAME",
"name": "www",
"data": "myblog.fr",
"ttl": 1800
},
{
"id": 54323,
"type": "MX",
"name": "@",
"data": "mailhost1.example.com",
"priority": 10,
"ttl": 1800
},
{
"id": 54324,
"type": "MX",
"name": "@",
"data": "mailhost2.example.com",
"priority": 20,
"ttl": 1800
}
],
"registry_ends_at": "2023-03-01T00:00:00Z",
"label": "MyDomain1"
}
}
Réponse d'exemple (400):
{
"meta": {
"on-hold": 20,
"total-domains": 14,
"credits-balance": 1350,
"error": true
},
"error": {
"code": 400,
"message": "The `price` parameter should be an integer."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
domain
object
name
string
Le nom de domaine.
punycode_name
string
Le nom de domaine au format punycode (pour les noms de domaine accentués).
status
string
Le statut du nom de domaine.
renew
boolean
Le status de l'auto-renouvellement du nom de domaine (true = Oui| false = Non).
kifdns
boolean
L'utilisation des serveurs de noms (NS) de KifDom (true = Oui| false = Non).
ns
object
Liste des enregistrements de type NS personnalisés du nom de domaine, absent si les serveurs de noms de KifDom sont utilisés.
id
integer
L'identifiant de l'enregistrement DNS de type NS.
type
string
Le type de l'enregistrement DNS de type NS (toujours égal à "NS").
name
string
Le nom de l'enregistrement DNS de type NS.
data
string
La valeur de l'enregistrement DNS de type NS.
ttl
integer
Le TTL (Time To Live) de l'enregistrement DNS de type NS.
dns
object
Liste des enregistrements DNS du nom de domaine.
id
integer
L'identifiant de l'enregistrement DNS de type non-NS.
type
string
Le type de l'enregistrement DNS de type non-NS (peut être A, AAAA, CNAME, MX ou TXT).
name
string
Le nom de l'enregistrement DNS de type non-NS.
data
string
La valeur de l'enregistrement DNS de type non-NS.
priority
integer
Le niveau de priorité, présent uniquement si l'enregistrement DNS est de type MX (plus la valeur est faible, plus la priorité est élevée).
ttl
integer
Le TTL (Time To Live) de l'enregistrement DNS de type non-NS.
registry_ends_at
boolean
La date d'expiration du nom de domaine.
label
string|null
Le label associé au nom de domaine (peut être null).
Mettre à jour un nom de domaine
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/domains/mydomain.fr"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"renew": 0,
"label": "MyDomain",
"ns": [
"ns1.example.com",
"ns2.example.com",
"ns3.example.com"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://www.kifdom.com/api/v1/domains/mydomain.fr',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'renew' => 0,
'label' => 'MyDomain',
'ns' => [
'ns1.example.com',
'ns2.example.com',
'ns3.example.com',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/domains/mydomain.fr'
payload = {
"renew": 0,
"label": "MyDomain",
"ns": [
"ns1.example.com",
"ns2.example.com",
"ns3.example.com"
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
curl --request PUT \
"https://www.kifdom.com/api/v1/domains/mydomain.fr" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"renew\": 0,
\"label\": \"MyDomain\",
\"ns\": [
\"ns1.example.com\",
\"ns2.example.com\",
\"ns3.example.com\"
]
}"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": {
"code": 200,
"message": "Domain name successfully updated."
}
}
Réponse d'exemple (400):
{
"meta": {
"on-hold": 20,
"total-domains": 14,
"credits-balance": 1350,
"error": true
},
"error": {
"code": 400,
"message": "The `renew` parameter should be an integer."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
Serveurs de noms
Afficher les serveurs de nom
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/name-servers/mydomain.fr"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://www.kifdom.com/api/v1/name-servers/mydomain.fr',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/name-servers/mydomain.fr'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
--get "https://www.kifdom.com/api/v1/name-servers/mydomain.fr" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": [
{
"id": 12345,
"type": "NS",
"name": "@",
"value": "ns1.kifdns.fr",
"ttl": 1800
},
...ETC...
]
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
Mettre à jour un serveur de nom
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/name-servers/mydomain.fr"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"ns": [
"ns1.example.com",
"ns2.example.com",
"ns3.example.com"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://www.kifdom.com/api/v1/name-servers/mydomain.fr',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'ns' => [
'ns1.example.com',
'ns2.example.com',
'ns3.example.com',
],
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/name-servers/mydomain.fr'
payload = {
"ns": [
"ns1.example.com",
"ns2.example.com",
"ns3.example.com"
]
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
curl --request PUT \
"https://www.kifdom.com/api/v1/name-servers/mydomain.fr" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"ns\": [
\"ns1.example.com\",
\"ns2.example.com\",
\"ns3.example.com\"
]
}"
Réponse d'exemple (200):
{
"code": 200,
"message": "Nameserver successfully updated."
}
Réponse d'exemple (400):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"error": {
"code": 400,
"message": "None of your nameservers matching this `id` has been found."
}
}
Réponse d'exemple (400):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"error": {
"code": 400,
"message": "Provided `value` is not accurate for this `type` of NS record."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
Zones DNS
Créer une zone DNS
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/dns-zones"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain_name": "mydomain.fr",
"type": "CNAME",
"name": "blog",
"value": "myblog.fr",
"priority": "10",
"ttl": 3600
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://www.kifdom.com/api/v1/dns-zones',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'domain_name' => 'mydomain.fr',
'type' => 'CNAME',
'name' => 'blog',
'value' => 'myblog.fr',
'priority' => '10',
'ttl' => 3600,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/dns-zones'
payload = {
"domain_name": "mydomain.fr",
"type": "CNAME",
"name": "blog",
"value": "myblog.fr",
"priority": "10",
"ttl": 3600
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
curl --request POST \
"https://www.kifdom.com/api/v1/dns-zones" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain_name\": \"mydomain.fr\",
\"type\": \"CNAME\",
\"name\": \"blog\",
\"value\": \"myblog.fr\",
\"priority\": \"10\",
\"ttl\": 3600
}"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": {
"code": 200,
"message": "DNS zone successfully created."
}
}
Réponse d'exemple (400):
{
"meta": {
"on-hold": 20,
"total-domains": 14,
"credits-balance": 1350,
"error": true
},
"error": {
"code": 400,
"message": "Provided `value` is not accurate for this `type` of DNS record."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
Afficher les zones DNS
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/dns-zones/mydomain.fr"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://www.kifdom.com/api/v1/dns-zones/mydomain.fr',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/dns-zones/mydomain.fr'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
--get "https://www.kifdom.com/api/v1/dns-zones/mydomain.fr" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": [
{
"id": 12345,
"type": "NS",
"name": "@",
"value": "ns1.kifdns.fr",
"ttl": 1800
},
...ETC...
]
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Mettre à jour une zone DNS
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/dns-zones"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"dns_zone_id": 12345,
"type": "CNAME",
"name": "blog",
"value": "myblog.fr",
"priority": "10",
"ttl": 3600
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->put(
'https://www.kifdom.com/api/v1/dns-zones',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'dns_zone_id' => 12345,
'type' => 'CNAME',
'name' => 'blog',
'value' => 'myblog.fr',
'priority' => '10',
'ttl' => 3600,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/dns-zones'
payload = {
"dns_zone_id": 12345,
"type": "CNAME",
"name": "blog",
"value": "myblog.fr",
"priority": "10",
"ttl": 3600
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('PUT', url, headers=headers, json=payload)
response.json()
curl --request PUT \
"https://www.kifdom.com/api/v1/dns-zones" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"dns_zone_id\": 12345,
\"type\": \"CNAME\",
\"name\": \"blog\",
\"value\": \"myblog.fr\",
\"priority\": \"10\",
\"ttl\": 3600
}"
Réponse d'exemple (200):
{
"code": 200,
"message": "DNS zone successfully updated."
}
Réponse d'exemple (400):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"error": {
"code": 400,
"message": "Provided `value` is not accurate for this `type` of DNS record."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
Supprimer une zone DNS
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/dns-zones"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"dns_zone_id": 12345
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->delete(
'https://www.kifdom.com/api/v1/dns-zones',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'dns_zone_id' => 12345,
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/dns-zones'
payload = {
"dns_zone_id": 12345
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('DELETE', url, headers=headers, json=payload)
response.json()
curl --request DELETE \
"https://www.kifdom.com/api/v1/dns-zones" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"dns_zone_id\": 12345
}"
Réponse d'exemple (200):
{
"code": 200,
"message": "DNS zone successfully deleted."
}
Réponse d'exemple (400):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"error": {
"code": 400,
"message": "This DNS record doesn't exists."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.
Précommandes
Afficher la liste des précommandes
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/preorders"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->get(
'https://www.kifdom.com/api/v1/preorders',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/preorders'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('GET', url, headers=headers)
response.json()
curl --request GET \
--get "https://www.kifdom.com/api/v1/preorders" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": [
{
"name": "mydomain.fr",
"punycode_name": "mydomain.fr",
"status": "Précommande en cours",
"last_update": "2023-05-17T09:27:27.000000Z"
},
...ETC...
]
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des précommandes de l'utilisateur.
name
string
Le nom de domaine précommandé.
punycode_name
string
Le nom de domaine précommandé au format punycode (pour les noms de domaine accentués).
status
string
Le statut de la précommande.
last_update
string
La date de dernière mise à jour de la précommande.
Créer une précommande
requires authentication
Requête d'exemple:
const url = new URL(
"https://www.kifdom.com/api/v1/preorders"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"domain_name": "mydomain.fr"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$response = $client->post(
'https://www.kifdom.com/api/v1/preorders',
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'json' => [
'domain_name' => 'mydomain.fr',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
import requests
import json
url = 'https://www.kifdom.com/api/v1/preorders'
payload = {
"domain_name": "mydomain.fr"
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}',
'Content-Type': 'application/json',
'Accept': 'application/json'
}
response = requests.request('POST', url, headers=headers, json=payload)
response.json()
curl --request POST \
"https://www.kifdom.com/api/v1/preorders" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"domain_name\": \"mydomain.fr\"
}"
Réponse d'exemple (200):
{
"meta": {
"balance": "1350.00",
"on-hold": "90.00",
"total": 14,
"error": false
},
"data": {
"code": 200,
"message": "Preorder successfully created."
}
}
Réponse d'exemple (400):
{
"meta": {
"on-hold": 20,
"total-domains": 14,
"credits-balance": 1350,
"error": true
},
"error": {
"code": 400,
"message": "You already have preordered this domain name."
}
}
Réponse d'exemple (401):
{
"message": "Token not provided"
}
Réponse reçue:
Échec de la requête:
Astuce: Vérifiez que vous êtes correctement connecté au réseau.
Si vous êtes un mainteneur de cette API, vérifiez que votre API est en cours d'exécution et que vous avez activé CORS.
Vous pouvez consulter la console Dev Tools pour obtenir des informations de débogage.
Réponse
Données de la réponse
meta
object
Méta-données liées au compte utilisateur.
balance
string
Les crédits déposés par l'utilisateur (en euros).
on-hold
string
Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros).
total
integer
Le nombre de domaines détenus par l'utilisateur (en euros).
error
boolean
Le status de la requête (true = Succès | false = Erreur).
data
object
Liste des informations de la réponse.
code
string
Code HTTP de la réponse.
message
string
Message de la réponse.