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: []