Le générateur assemble une requête HTTP — méthode, URL, paramètres de requête, en-têtes, authentification Basic ou Bearer facultative et corps — et l’écrit sous forme de commande cURL et de fragment Fetch. La même requête peut être envoyée depuis cet onglet lorsque l’API cible autorise l’appel depuis le navigateur.
Le second panneau lit un document OpenAPI 3.x ou Swagger 2.0 local, collé ou choisi sur le disque, et remplit le générateur avec l’une de ses opérations. Rien n’est téléversé et aucune URL n’est récupérée pendant l’analyse.
Le panneau cURL est une seule commande : curl -X avec la méthode, l’URL et sa chaîne de requête, un -H par en-tête et --data-raw pour le corps, avec les apostrophes échappées pour le shell. Le panneau Fetch est l’appel fetch() correspondant, avec la méthode, l’objet d’en-têtes, credentials: "omit" et le corps sous forme de chaîne.
Télécharger la requête JSON enregistre méthode, URL, en-têtes, corps et type de corps sous kivtools-http-request.json, les valeurs de Authorization, Cookie et X-API-Key étant remplacées par [redacted]. Télécharger le fragment OpenAPI écrit un document OpenAPI 3.0.3 dont le serveur est l’origine de l’URL et dont l’unique opération porte la chaîne de requête en paramètres de requête, vos en-têtes en paramètres d’en-tête, un requestBody déduit du corps et un schéma de sécurité bearer ou basic si vous en avez choisi un.
Chaque ligne d’en-tête doit respecter la forme Nom-d’en-tête: valeur, et les noms d’en-tête doivent être des caractères de jeton HTTP valides. Les noms contrôlés par le navigateur — Host, Origin, Referer, Cookie, Content-Length, Connection, Accept-Encoding, DNT, Date, Expect, Keep-Alive, TE, Trailer, Transfer-Encoding, Upgrade, Via et la paire Access-Control-Request-* — sont refusés avant la construction de la requête, et le message indique lequel a été rejeté.
Le Content-Type n’est ajouté que si vous ne l’avez pas défini : application/json pour le JSON, text/plain;charset=utf-8 pour le texte brut et application/x-www-form-urlencoded;charset=UTF-8 pour les formulaires. Les valeurs de requête sont encodées en pourcentage, et une clé sans valeur est envoyée comme paramètre vide.
L’analyse liste chaque opération sous la forme MÉTHODE /chemin — résumé, affiche les 24 premières dans le panneau et indique le total. La sélection remplit le serveur — avec les valeurs par défaut à la place des variables —, le chemin, les paramètres de requête, les paramètres d’en-tête, les paramètres de chemin et un corps d’exemple issu de example, examples ou du schéma.
Un document sans objet paths, ou sans champ openapi ou swagger, est refusé : ce n’est pas un document OpenAPI 3.x ou Swagger 2.0 avec des chemins. Le YAML est analysé dans le navigateur. Un paramètre de chemin sans exemple conserve son paramètre fictif {name}, et le générateur le signale au lieu de produire une adresse inutilisable.
Envoyer la demande appelle l’URL saisie depuis ce navigateur en mode CORS et sans informations d’identification : l’API doit donc autoriser kivtools.com. La carte de réponse indique le code et le texte du statut, la durée en millisecondes, la taille de l’aperçu et les en-têtes de réponse ; l’aperçu du corps s’arrête à 1 Mo et la requête est interrompue après 30 secondes.
Une API qui répond sans en-têtes CORS, un port fermé ou un certificat refusé se terminent par « Failed to fetch », avec un rappel de vérifier l’URL, la politique CORS, le certificat, le réseau et l’authentification de l’API. La requête reste dans l’onglet : rien n’est téléversé, rien n’est stocké, et le seul appel réseau est celui que vous lancez.