openapi: 3.0.3
info:
title: "KifDom | Documentation de l'API"
description: "Bienvenue sur l'API KifDom.\r\n\nCe guide d'utilisation décrit les différentes méthodes accessibles via l'API.\r\n\nL'API a été conçue pour faciliter l'accès à notre base et vous permettre d'interagir avec certains de ses aspects."
version: 1.0.0
servers:
-
url: 'https://www.kifdom.com'
paths:
/api/v1/auth/login:
post:
summary: "Obtenir un token d'autentification"
operationId: obtenirUnTokenDautentification
description: ""
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
access_token: '{YOUR_API_TOKEN}'
token_type: bearer
expires_in: 3600
properties:
access_token:
type: string
example: '{YOUR_API_TOKEN}'
description: '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:
type: string
example: bearer
description: '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:
type: integer
example: 3600
description: "La durée de vie du token d'autorisation en secondes (3600 secondes = 1 heure)."
401:
description: ''
content:
application/json:
schema:
type: object
example:
error:
code: 401
message: Unauthorized.
properties:
error:
type: object
properties:
code:
type: integer
example: 401
message:
type: string
example: Unauthorized.
tags:
- Authentification
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
email:
type: string
description: "L'email de l'utilisateur.
"
example: myemail@provider.com
password:
type: string
description: "Le mot de passe de l'utilisateur.
"
example: '%z*b_MgZv<8f2Uy7R'
required:
- email
- password
security: []
/api/v1/auth/refresh:
post:
summary: "Rafraichir le token d'autentification"
operationId: rafraichirLeTokenDautentification
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
access_token: '{YOUR_API_TOKEN}'
token_type: bearer
expires_in: 3600
properties:
access_token:
type: string
example: '{YOUR_API_TOKEN}'
description: '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:
type: string
example: bearer
description: '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:
type: integer
example: 3600
description: "La durée de vie du token d'autorisation en secondes (3600 secondes = 1 heure)."
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
tags:
- Authentification
/api/v1/auth/me:
post:
summary: 'Afficher le compte utilisateur'
operationId: afficherLeCompteUtilisateur
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
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}'
properties:
code:
type: integer
example: 200
description: 'Code HTTP de la réponse.'
message:
type: string
example: 'User successfully retrieved.'
description: 'Message de la réponse.'
data:
type: object
properties:
email:
type: string
example: '{YOUR_EMAIL}'
description: "L'adresse email de l'utilisateur."
first_name:
type: string
example: '{YOUR_FIRST_NAME}'
description: "Le prénom de l'utilisateur."
last_name:
type: string
example: '{YOUR_LAST_NAME}'
description: "Le nom de famille de l'utilisateur."
address:
type: string
example: '{YOUR_ADDRESS}'
description: "L'adresse de résidence de l'utilisateur."
postcode:
type: string
example: '{YOUR_POSTCODE}'
description: "Le code postal de résidence de l'utilisateur."
city:
type: string
example: '{YOUR_CITY}'
description: "La ville de résidence de l'utilisateur."
country:
type: string
example: '{YOUR_COUNTRY_CODE}'
description: "Le pays de résidence de l'utilisateur."
phone:
type: string
example: '{YOUR_PHONE_NUMBER}'
description: "Le numéro de téléphone de l'utilisateur."
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
description: 'Message de la réponse.'
tags:
- Authentification
/api/v1/auth/logout:
post:
summary: "Détruire le token d'autentification (déconnexion)"
operationId: dtruireLeTokenDautentificationdconnexion
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Successfully logged out.'
properties:
message:
type: string
example: 'Successfully logged out.'
description: 'Message de la réponse.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: Unauthenticated.
properties:
message:
type: string
example: Unauthenticated.
description: 'Message de la réponse.'
tags:
- Authentification
/api/v1/domains:
get:
summary: 'Afficher la liste de vos domaines'
operationId: afficherLaListeDeVosDomaines
description: ""
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"meta\": {\n \"balance\": \"1350.00\",\n \"on-hold\": \"90.00\",\n \"total\": 14,\n \"error\": false\n },\n \"data\": [\n {\n \"name\": \"mydomain1.fr\",\n \"punycode_name\": \"mydomain1.fr\",\n \"status\": \"active\",\n \"renew\": false,\n \"kifdns\": true,\n \"dns\": [\n {\n \"id\": 54321,\n \"type\": \"A\",\n \"name\": \"@\",\n \"data\": \"111.33.444.22\",\n \"ttl\": 1800\n },\n {\n \"id\": 54322,\n \"type\": \"CNAME\",\n \"name\": \"www\",\n \"data\": \"myblog.fr\",\n \"ttl\": 1800\n },\n {\n \"id\": 54323,\n \"type\": \"MX\",\n \"name\": \"@\",\n \"data\": \"mailhost1.example.com\",\n \"priority\": 10,\n \"ttl\": 1800\n },\n {\n \"id\": 54324,\n \"type\": \"MX\",\n \"name\": \"@\",\n \"data\": \"mailhost2.example.com\",\n \"priority\": 20,\n \"ttl\": 1800\n }\n ],\n \"registry_ends_at\": \"2023-03-01T00:00:00Z\",\n \"label\": \"MyDomain1\"\n },\n {\n \"name\": \"mydomain2.fr\",\n \"punycode_name\": \"mydomain2.fr\",\n \"status\": \"outgoing_transfer\",\n \"renew\": false,\n \"kifdns\": false,\n \"ns\": [\n {\n \"id\": 65432,\n \"type\": \"NS\",\n \"name\": null,\n \"data\": \"ns1.myhostingcompany.net\",\n \"priority\": null,\n \"ttl\": 1800\n },\n {\n \"id\": 65433,\n \"type\": \"NS\",\n \"name\": null,\n \"data\": \"ns2.myhostingcompany.net\",\n \"priority\": null,\n \"ttl\": 1800\n }\n ],\n \"registry_ends_at\": \"2023-03-01T00:00:00Z\",\n \"label\": \"MyDomain2\"\n }\n ...ETC...\n ]\n}"
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Noms de domaine'
post:
summary: 'Créer un nom de domaine'
operationId: crerUnNomDeDomaine
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
balance: '1350.00'
on-hold: '90.00'
total: 14
error: false
data:
code: 200
message: 'Domain name successfully created.'
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
data:
type: object
properties:
code:
type: integer
example: 200
description: 'Code HTTP de la réponse.'
message:
type: string
example: 'Domain name successfully created.'
description: 'Message de la réponse.'
400:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
on-hold: 20
total-domains: 14
credits-balance: 1350
error: true
error:
code: 400
message: 'The `price` parameter should be an integer.'
properties:
meta:
type: object
properties:
on-hold:
type: integer
example: 20
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total-domains:
type: integer
example: 14
credits-balance:
type: integer
example: 1350
error:
type: boolean
example: true
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: 'The `price` parameter should be an integer.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Noms de domaine'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: 'Le nom de domaine.
'
example: mydomain.fr
renewable:
type: integer
description: 'Le renouvellement automatique du nom de domaine (0 = Non | 1 = Oui). Valeur par défaut : 1.
'
example: 0
label:
type: string
description: 'Un libellé pour le nom de domaine. Valeur par défaut : null.
'
example: MyDomain.
required:
- name
'/api/v1/domains/{domain_name}':
get:
summary: 'Affiche un domaine'
operationId: afficheUnDomaine
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
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
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
domain:
type: object
properties:
name:
type: string
example: mydomain1.fr
description: 'Le nom de domaine.'
punycode_name:
type: string
example: mydomain1.fr
description: 'Le nom de domaine au format punycode (pour les noms de domaine accentués).'
status:
type: string
example: active
description: 'Le statut du nom de domaine.'
renew:
type: boolean
example: false
description: "Le status de l'auto-renouvellement du nom de domaine (true = Oui| false = Non)."
kifdns:
type: boolean
example: true
description: "L'utilisation des serveurs de noms (NS) de KifDom (true = Oui| false = Non)."
dns:
type: array
example:
-
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
description: 'Liste des enregistrements DNS du nom de domaine.'
items:
type: object
properties:
id:
type: integer
example: 54321
description: "L'identifiant de l'enregistrement DNS de type non-NS."
type:
type: string
example: A
description: "Le type de l'enregistrement DNS de type non-NS (peut être A, AAAA, CNAME, MX ou TXT)."
name:
type: string
example: '@'
description: "Le nom de l'enregistrement DNS de type non-NS."
data:
type: string
example: 111.33.444.22
description: "La valeur de l'enregistrement DNS de type non-NS."
ttl:
type: integer
example: 1800
description: "Le TTL (Time To Live) de l'enregistrement DNS de type non-NS."
registry_ends_at:
type: string
example: '2023-03-01T00:00:00Z'
description: "La date d'expiration du nom de domaine."
label:
type: string
example: MyDomain1
description: 'Le label associé au nom de domaine (peut être null).'
400:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
on-hold: 20
total-domains: 14
credits-balance: 1350
error: true
error:
code: 400
message: 'The `price` parameter should be an integer.'
properties:
meta:
type: object
properties:
on-hold:
type: integer
example: 20
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total-domains:
type: integer
example: 14
credits-balance:
type: integer
example: 1350
error:
type: boolean
example: true
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: 'The `price` parameter should be an integer.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Noms de domaine'
put:
summary: 'Mettre à jour un nom de domaine'
operationId: mettreJourUnNomDeDomaine
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
balance: '1350.00'
on-hold: '90.00'
total: 14
error: false
data:
code: 200
message: 'Domain name successfully updated.'
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
data:
type: object
properties:
code:
type: integer
example: 200
description: 'Code HTTP de la réponse.'
message:
type: string
example: 'Domain name successfully updated.'
description: 'Message de la réponse.'
400:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
on-hold: 20
total-domains: 14
credits-balance: 1350
error: true
error:
code: 400
message: 'The `renew` parameter should be an integer.'
properties:
meta:
type: object
properties:
on-hold:
type: integer
example: 20
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total-domains:
type: integer
example: 14
credits-balance:
type: integer
example: 1350
error:
type: boolean
example: true
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: 'The `renew` parameter should be an integer.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Noms de domaine'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
renew:
type: integer
description: 'optional Le renouvellement automatique du nom de domaine (1 = Oui | 0 = Non).
'
example: 0
label:
type: string
description: 'optional Le label associé au nom de domaine (peut être null).
'
example: MyDomain
ns:
type: array
description: 'optional Liste des enregistrements de type NS personnalisés du nom de domaine, si présent mais vide les serveurs de noms de KifDom seront utilisés.
'
example:
- ns1.example.com
- ns2.example.com
- ns3.example.com
items:
type: 'string[]|empty'
parameters:
-
in: path
name: domain_name
description: 'Le nom de domaine.
'
example: mydomain.fr
required: true
schema:
type: string
'/api/v1/name-servers/{domain_name}':
get:
summary: 'Afficher les serveurs de nom'
operationId: afficherLesServeursDeNom
description: ""
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"meta\": {\n \"balance\": \"1350.00\",\n \"on-hold\": \"90.00\",\n \"total\": 14,\n \"error\": false\n },\n \"data\": [\n {\n \"id\": 12345,\n \"type\": \"NS\",\n \"name\": \"@\",\n \"value\": \"ns1.kifdns.fr\",\n \"ttl\": 1800\n },\n ...ETC...\n ]\n}"
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Serveurs de noms'
put:
summary: 'Mettre à jour un serveur de nom'
operationId: mettreJourUnServeurDeNom
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
code: 200
message: 'Nameserver successfully updated.'
properties:
code:
type: integer
example: 200
message:
type: string
example: 'Nameserver successfully updated.'
400:
description: ''
content:
application/json:
schema:
type: object
example:
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.'
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: 'Provided `value` is not accurate for this `type` of NS record.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Serveurs de noms'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
ns:
type: array
description: 'Tableau de valeurs des serveurs de nom.
'
example:
- ns1.example.com
- ns2.example.com
- ns3.example.com
items:
type: 'string[]|empty'
required:
- ns
parameters:
-
in: path
name: domain_name
description: 'Le nom de domaine.
'
example: mydomain.fr
required: true
schema:
type: string
/api/v1/dns-zones:
post:
summary: 'Créer une zone DNS'
operationId: crerUneZoneDNS
description: ""
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
balance: '1350.00'
on-hold: '90.00'
total: 14
error: false
data:
code: 200
message: 'DNS zone successfully created.'
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
data:
type: object
properties:
code:
type: integer
example: 200
description: 'Code HTTP de la réponse.'
message:
type: string
example: 'DNS zone successfully created.'
description: 'Message de la réponse.'
400:
description: ''
content:
application/json:
schema:
type: object
example:
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.'
properties:
meta:
type: object
properties:
on-hold:
type: integer
example: 20
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total-domains:
type: integer
example: 14
credits-balance:
type: integer
example: 1350
error:
type: boolean
example: true
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: 'Provided `value` is not accurate for this `type` of DNS record.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Zones DNS'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain_name:
type: string
description: 'Le nom de domaine.
'
example: mydomain.fr
type:
type: string
description: 'Le type de la zone DNS. (A, AAAA, CNAME, MX ou TXT).
'
example: CNAME
name:
type: string
description: 'Le nom de zone DNS.
'
example: blog
value:
type: string
description: 'La valeur de la zone DNS.
'
example: myblog.fr
priority:
type: string
description: 'La priorité de la zone DNS de type MX, facultatif pour toutes les zones DNS de type non-MX.
'
example: '10'
ttl:
type: integer
description: 'Le TTL (Time To Live) ou durée de vie en secondes de la zone DNS.
'
example: 3600
required:
- domain_name
- type
- name
- value
- ttl
put:
summary: 'Mettre à jour une zone DNS'
operationId: mettreJourUneZoneDNS
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
code: 200
message: 'DNS zone successfully updated.'
properties:
code:
type: integer
example: 200
message:
type: string
example: 'DNS zone successfully updated.'
400:
description: ''
content:
application/json:
schema:
type: object
example:
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.'
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: 'Provided `value` is not accurate for this `type` of DNS record.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Zones DNS'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
dns_zone_id:
type: integer
description: "L'identifiant de la zone DNS.
"
example: 12345
type:
type: string
description: 'Le type de la zone DNS. (A, AAAA, CNAME, MX ou TXT).
'
example: CNAME
name:
type: string
description: 'Le nom de zone DNS.
'
example: blog
value:
type: string
description: 'La valeur de la zone DNS.
'
example: myblog.fr
priority:
type: string
description: 'La priorité de la zone DNS de type MX, facultatif pour toutes les zones DNS de type non-MX.
'
example: '10'
ttl:
type: integer
description: 'Le TTL (Time To Live) ou durée de vie en secondes de la zone DNS.
'
example: 3600
required:
- dns_zone_id
- type
- name
- value
- ttl
delete:
summary: 'Supprimer une zone DNS'
operationId: supprimerUneZoneDNS
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
code: 200
message: 'DNS zone successfully deleted.'
properties:
code:
type: integer
example: 200
message:
type: string
example: 'DNS zone successfully deleted.'
400:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
balance: '1350.00'
on-hold: '90.00'
total: 14
error: false
error:
code: 400
message: "This DNS record doesn't exists."
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: "This DNS record doesn't exists."
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Zones DNS'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
dns_zone_id:
type: integer
description: "L'identifiant de la zone DNS.
"
example: 12345
required:
- dns_zone_id
'/api/v1/dns-zones/{domain_name}':
get:
summary: 'Afficher les zones DNS'
operationId: afficherLesZonesDNS
description: ''
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"meta\": {\n \"balance\": \"1350.00\",\n \"on-hold\": \"90.00\",\n \"total\": 14,\n \"error\": false\n },\n \"data\": [\n {\n \"id\": 12345,\n \"type\": \"NS\",\n \"name\": \"@\",\n \"value\": \"ns1.kifdns.fr\",\n \"ttl\": 1800\n },\n ...ETC...\n ]\n}"
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- 'Zones DNS'
parameters:
-
in: path
name: domain_name
description: 'Le nom de domaine.
'
example: mydomain.fr
required: true
schema:
type: string
/api/v1/preorders:
get:
summary: 'Afficher la liste des précommandes'
operationId: afficherLaListeDesPrcommandes
description: ''
parameters: []
responses:
200:
description: ''
content:
text/plain:
schema:
type: string
example: "{\n \"meta\": {\n \"balance\": \"1350.00\",\n \"on-hold\": \"90.00\",\n \"total\": 14,\n \"error\": false\n },\n \"data\": [\n {\n \"name\": \"mydomain.fr\",\n \"punycode_name\": \"mydomain.fr\",\n \"status\": \"Précommande en cours\",\n \"last_update\": \"2023-05-17T09:27:27.000000Z\"\n },\n ...ETC...\n ]\n}"
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- Précommandes
post:
summary: 'Créer une précommande'
operationId: crerUnePrcommande
description: ''
parameters: []
responses:
200:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
balance: '1350.00'
on-hold: '90.00'
total: 14
error: false
data:
code: 200
message: 'Preorder successfully created.'
properties:
meta:
type: object
properties:
balance:
type: string
example: '1350.00'
description: "Les crédits déposés par l'utilisateur (en euros)."
on-hold:
type: string
example: '90.00'
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total:
type: integer
example: 14
description: "Le nombre de domaines détenus par l'utilisateur (en euros)."
error:
type: boolean
example: false
description: 'Le status de la requête (true = Succès | false = Erreur).'
data:
type: object
properties:
code:
type: integer
example: 200
description: 'Code HTTP de la réponse.'
message:
type: string
example: 'Preorder successfully created.'
description: 'Message de la réponse.'
400:
description: ''
content:
application/json:
schema:
type: object
example:
meta:
on-hold: 20
total-domains: 14
credits-balance: 1350
error: true
error:
code: 400
message: 'You already have preordered this domain name.'
properties:
meta:
type: object
properties:
on-hold:
type: integer
example: 20
description: "Le montant de crédits engagés par l'utilisateur dans des précommandes (en euros)."
total-domains:
type: integer
example: 14
credits-balance:
type: integer
example: 1350
error:
type: boolean
example: true
description: 'Le status de la requête (true = Succès | false = Erreur).'
error:
type: object
properties:
code:
type: integer
example: 400
message:
type: string
example: 'You already have preordered this domain name.'
401:
description: ''
content:
application/json:
schema:
type: object
example:
message: 'Token not provided'
properties:
message:
type: string
example: 'Token not provided'
tags:
- Précommandes
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
domain_name:
type: string
description: 'Le nom de domaine.
'
example: mydomain.fr
required:
- domain_name
tags:
-
name: Authentification
description: ''
-
name: 'Noms de domaine'
description: ''
-
name: 'Serveurs de noms'
description: ''
-
name: 'Zones DNS'
description: ''
-
name: Précommandes
description: ''
components:
securitySchemes:
default:
type: http
scheme: bearer
description: ""
security:
-
default: []