{"openapi":"3.1.0","info":{"title":"Vérif Entreprise FR","version":"0.1.0","summary":"Vérification d'entreprises françaises payable à l'appel par les agents IA (x402).","description":"Agrège l'Annuaire des Entreprises, le BODACC et la liste RGE de l'ADEME, et renvoie un verdict expliqué par des signaux sourcés (codes stables, voir docs/signaux.md). Paiement à l'appel en USDC via x402, sans compte ni clé API.\n\nSources : Annuaire des Entreprises (DINUM), BODACC (DILA), ADEME — Licence Ouverte Etalab 2.0.\n\nInformations issues de sources publiques, fournies à titre indicatif. Ne constitue pas un conseil.","license":{"name":"Données : Licence Ouverte Etalab 2.0","url":"https://www.etalab.gouv.fr/licence-ouverte-open-licence"}},"servers":[{"url":"https://api-production-24833.up.railway.app"}],"tags":[{"name":"Payant","description":"Routes payantes x402"},{"name":"Gratuit","description":"Routes gratuites"}],"paths":{"/v1/verify":{"get":{"tags":["Payant"],"operationId":"verifierEntreprise","summary":"Vérification complète d'une entreprise par SIREN et verdict expliqué. (0.01 $)","x-payment":{"protocol":"x402","version":2,"scheme":"exact","price":"$0.01","asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"parameters":[{"name":"siren","in":"query","required":true,"description":"SIREN (9 chiffres, clé de Luhn valide). Espaces, points et tirets acceptés.","schema":{"type":"string","examples":["552032534"]}},{"name":"nom","in":"query","required":false,"description":"Nom à vérifier (2 à 100 caractères). Renvoie `correspondanceNom` (exacte, partielle ou aucune) sans divulguer le nom officiel : utile pour un entrepreneur individuel.","schema":{"type":"string","minLength":2,"maxLength":100}},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Preuve de paiement x402 (fournie par un client x402 après une réponse 402).","schema":{"type":"string"}}],"responses":{"200":{"description":"Succès. Le paiement n'est réglé que pour une réponse < 400.","headers":{"PAYMENT-RESPONSE":{"description":"Reçu de règlement x402 (JSON encodé en base64 : transaction, payeur, réseau).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyResponse"}}}},"400":{"description":"Paramètre invalide (vérifié AVANT toute demande de paiement).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"402":{"description":"Paiement requis ($0.01 en USDC). Conditions encodées en base64 dans l'en-tête PAYMENT-REQUIRED (protocole x402 v2). Rejouez la requête avec l'en-tête PAYMENT-SIGNATURE.","headers":{"PAYMENT-REQUIRED":{"description":"Conditions de paiement x402 (JSON encodé en base64).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Entreprise introuvable ou non diffusible. Aucun paiement n'est réglé.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"Source officielle indisponible. Aucun paiement n'est réglé.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/v1/search":{"get":{"tags":["Payant"],"operationId":"rechercherEntreprise","summary":"Trouver le SIREN d'une entreprise à partir de son nom (10 résultats max). (0.002 $)","x-payment":{"protocol":"x402","version":2,"scheme":"exact","price":"$0.002","asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"parameters":[{"name":"q","in":"query","required":true,"description":"Nom de l'entreprise (3 à 100 caractères).","schema":{"type":"string","minLength":3,"maxLength":100,"examples":["boulangerie"]}},{"name":"code_postal","in":"query","required":false,"schema":{"type":"string","pattern":"^[0-9]{5}$","examples":["69003"]}},{"name":"commune","in":"query","required":false,"description":"Code commune INSEE (ex. 69383), pas le nom de la ville.","schema":{"type":"string","pattern":"^[0-9][0-9AB][0-9]{3}$"}},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Preuve de paiement x402 (fournie par un client x402 après une réponse 402).","schema":{"type":"string"}}],"responses":{"200":{"description":"Succès. Le paiement n'est réglé que pour une réponse < 400.","headers":{"PAYMENT-RESPONSE":{"description":"Reçu de règlement x402 (JSON encodé en base64 : transaction, payeur, réseau).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"400":{"description":"Paramètre invalide (vérifié AVANT toute demande de paiement).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"402":{"description":"Paiement requis ($0.002 en USDC). Conditions encodées en base64 dans l'en-tête PAYMENT-REQUIRED (protocole x402 v2). Rejouez la requête avec l'en-tête PAYMENT-SIGNATURE.","headers":{"PAYMENT-REQUIRED":{"description":"Conditions de paiement x402 (JSON encodé en base64).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"Source officielle indisponible. Aucun paiement n'est réglé.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/v1/rge":{"get":{"tags":["Payant"],"operationId":"qualificationsRge","summary":"Détail des qualifications RGE d'un établissement (SIRET) : domaines, organisme, validité. (0.01 $)","x-payment":{"protocol":"x402","version":2,"scheme":"exact","price":"$0.01","asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"parameters":[{"name":"siret","in":"query","required":true,"description":"SIRET de l'établissement (14 chiffres).","schema":{"type":"string","examples":["34758223100226"]}},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Preuve de paiement x402 (fournie par un client x402 après une réponse 402).","schema":{"type":"string"}}],"responses":{"200":{"description":"Succès. Le paiement n'est réglé que pour une réponse < 400.","headers":{"PAYMENT-RESPONSE":{"description":"Reçu de règlement x402 (JSON encodé en base64 : transaction, payeur, réseau).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RgeResponse"}}}},"400":{"description":"Paramètre invalide (vérifié AVANT toute demande de paiement).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"402":{"description":"Paiement requis ($0.01 en USDC). Conditions encodées en base64 dans l'en-tête PAYMENT-REQUIRED (protocole x402 v2). Rejouez la requête avec l'en-tête PAYMENT-SIGNATURE.","headers":{"PAYMENT-REQUIRED":{"description":"Conditions de paiement x402 (JSON encodé en base64).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Établissement introuvable ou non diffusible. Aucun paiement n'est réglé.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"Source officielle indisponible. Aucun paiement n'est réglé.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/v1/verify/batch":{"post":{"tags":["Payant"],"operationId":"verifierLot","summary":"Vérifie jusqu'à 50 SIREN. Seules les vérifications réussies sont facturées (0,008 $ l'unité).","description":"Scheme x402 « upto » : vous autorisez au plus 0.008 $ × n (n = nombre de SIREN distincts, 50 maximum) ; seules les vérifications réussies sont réglées.","x-payment":{"protocol":"x402","version":2,"scheme":"upto","price":"jusqu'à $0.008 × n","asset":"USDC","networks":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},"parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Preuve de paiement x402 (fournie par un client x402 après une réponse 402).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["sirens"],"properties":{"sirens":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"string","pattern":"^[0-9]{9}$"}}}},"example":{"sirens":["552032534","508927373"]}}}},"responses":{"200":{"description":"Succès. Le paiement n'est réglé que pour une réponse < 400.","headers":{"PAYMENT-RESPONSE":{"description":"Reçu de règlement x402 (JSON encodé en base64 : transaction, payeur, réseau).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResponse"}}}},"400":{"description":"Paramètre invalide (vérifié AVANT toute demande de paiement).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"402":{"description":"Paiement requis (jusqu'à $0.008 × n en USDC). Conditions encodées en base64 dans l'en-tête PAYMENT-REQUIRED (protocole x402 v2). Rejouez la requête avec l'en-tête PAYMENT-SIGNATURE.","headers":{"PAYMENT-REQUIRED":{"description":"Conditions de paiement x402 (JSON encodé en base64).","schema":{"type":"string"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"404":{"description":"Aucun SIREN trouvé. Aucun paiement n'est réglé.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"502":{"description":"Source officielle indisponible. Aucun paiement n'est réglé.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/":{"get":{"tags":["Gratuit"],"operationId":"presentation","summary":"Présentation du service","responses":{"200":{"description":"Présentation JSON (endpoints, prix, réseau, sources)."},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/health":{"get":{"tags":["Gratuit"],"operationId":"sante","summary":"État du service et des sources","responses":{"200":{"description":"Service opérationnel."},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}},"503":{"description":"Base de données indisponible."}}}},"/llms.txt":{"get":{"tags":["Gratuit"],"operationId":"llmsTxt","summary":"Description courte pour les LLM","responses":{"200":{"description":"Texte brut.","content":{"text/plain":{"schema":{"type":"string"}}}},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/mcp":{"post":{"tags":["Payant"],"operationId":"mcp","summary":"Serveur MCP (Streamable HTTP) : outils verifier_entreprise, rechercher_entreprise, qualifications_rge, payés à l'appel via x402 dans MCP","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Message JSON-RPC 2.0 MCP."}}}},"responses":{"200":{"description":"Réponse JSON-RPC MCP (éventuellement en flux SSE)."},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}},"/openapi.json":{"get":{"tags":["Gratuit"],"operationId":"openapi","summary":"Cette spécification","responses":{"200":{"description":"OpenAPI 3.1."},"429":{"description":"Trop de requêtes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erreur"}}}}}}}},"components":{"schemas":{"Signal":{"type":"object","properties":{"code":{"type":"string","description":"Code stable, documenté dans docs/signaux.md. Jamais renommé."},"niveau":{"type":"string","enum":["critique","eleve","moyen","faible","info","positif"],"description":"Gravité du signal, de « critique » à « positif »."},"message":{"type":"string","description":"Explication en français."},"source":{"type":"string","enum":["annuaire","bodacc","ademe","service"]},"date":{"description":"Date de l'événement à l'origine du signal (AAAA-MM-JJ).","type":["string","null"]},"preuve":{"description":"URL de la publication officielle, si disponible.","type":["string","null"]}},"required":["code","niveau","message","source","date","preuve"],"additionalProperties":false},"Verdict":{"type":"object","properties":{"niveau":{"type":"string","enum":["favorable","vigilance","defavorable","indetermine"]},"resume":{"type":"string"},"confiance":{"type":"string","enum":["complete","partielle"],"description":"« partielle » si une source (ex. BODACC) n'a pas pu être consultée."}},"required":["niveau","resume","confiance"],"additionalProperties":false},"Entreprise":{"type":"object","properties":{"siren":{"type":"string"},"denomination":{"description":"Raison sociale. Pour un entrepreneur individuel : nom commercial ou enseigne uniquement (jamais le nom de la personne), sinon null.","type":["string","null"]},"sigle":{"type":["string","null"]},"entrepreneurIndividuel":{"type":"boolean"},"natureJuridique":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"libelle":{"type":"string"}},"required":["code","libelle"],"additionalProperties":false},{"type":"null"}]},"activite":{"type":"object","properties":{"codeNaf":{"description":"Code NAF rév. 2 de l'activité principale.","type":["string","null"]},"section":{"type":["string","null"]}},"required":["codeNaf","section"],"additionalProperties":false},"categorie":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"libelle":{"type":"string"}},"required":["code","libelle"],"additionalProperties":false},{"type":"null"}],"description":"PME, ETI ou GE (INSEE)."},"dateCreation":{"type":["string","null"]},"ancienneteAnnees":{"type":["number","null"]},"etat":{"type":"string","enum":["active","cessee","inconnu"]},"dateCessation":{"type":["string","null"]},"effectif":{"anyOf":[{"type":"object","properties":{"code":{"type":"string"},"libelle":{"type":"string"},"min":{"type":["number","null"]},"max":{"type":["number","null"]},"annee":{"type":["string","null"]}},"required":["code","libelle","min","max","annee"],"additionalProperties":false},{"type":"null"}]},"employeur":{"type":["boolean","null"]},"siege":{"anyOf":[{"type":"object","properties":{"siret":{"type":"string"},"commune":{"type":["string","null"]},"codeCommune":{"type":["string","null"]},"codePostal":{"type":["string","null"]},"departement":{"type":["string","null"]},"adresse":{"description":"Adresse du siège ; toujours null pour un entrepreneur individuel.","type":["string","null"]},"etat":{"type":"string","enum":["ouvert","ferme","inconnu"]}},"required":["siret","commune","codeCommune","codePostal","departement","adresse","etat"],"additionalProperties":false},{"type":"null"}]},"etablissements":{"type":"object","properties":{"total":{"type":["number","null"]},"ouverts":{"type":["number","null"]}},"required":["total","ouverts"],"additionalProperties":false},"labels":{"type":"object","properties":{"rge":{"type":"boolean"},"qualiopi":{"type":"boolean"},"bio":{"type":"boolean"},"ess":{"type":"boolean"},"societeMission":{"type":"boolean"}},"required":["rge","qualiopi","bio","ess","societeMission"],"additionalProperties":false},"miseAJour":{"type":["string","null"]}},"required":["siren","denomination","sigle","entrepreneurIndividuel","natureJuridique","activite","categorie","dateCreation","ancienneteAnnees","etat","dateCessation","effectif","employeur","siege","etablissements","labels","miseAJour"],"additionalProperties":false},"EvenementProcedure":{"type":"object","properties":{"date":{"type":"string"},"categorie":{"type":"string","description":"Catégorie normalisée (ex. OUVERTURE_LIQUIDATION)."},"nature":{"description":"Libellé officiel du jugement.","type":["string","null"]},"tribunal":{"type":["string","null"]},"url":{"type":["string","null"]}},"required":["date","categorie","nature","tribunal","url"],"additionalProperties":false},"Procedures":{"type":"object","properties":{"etat":{"type":"string","enum":["aucune","sauvegarde_en_cours","redressement_en_cours","liquidation_en_cours","plan_sauvegarde_en_cours","plan_redressement_en_cours","cloturee_insuffisance_actif","cloturee_extinction_passif","cloturee","terminee"]},"libelle":{"type":"string"},"depuis":{"type":["string","null"]},"dateOuverture":{"type":["string","null"]},"radiation":{"anyOf":[{"type":"object","properties":{"date":{"type":"string"},"url":{"type":["string","null"]}},"required":["date","url"],"additionalProperties":false},{"type":"null"}]},"historique":{"type":"array","items":{"$ref":"#/components/schemas/EvenementProcedure"}}},"required":["etat","libelle","depuis","dateOuverture","radiation","historique"],"additionalProperties":false},"VerifyResponse":{"type":"object","properties":{"siren":{"type":"string"},"entreprise":{"$ref":"#/components/schemas/Entreprise"},"procedures":{"anyOf":[{"$ref":"#/components/schemas/Procedures"},{"type":"null"}],"description":"null si le BODACC était indisponible."},"correspondanceNom":{"anyOf":[{"type":"object","properties":{"resultat":{"type":"string","enum":["exacte","partielle","aucune"],"description":"Tous les mots du nom demandé figurent dans le nom officiel / une partie / aucun."},"motsReconnus":{"type":"number"},"motsDemandes":{"type":"number"}},"required":["resultat","motsReconnus","motsDemandes"],"additionalProperties":false},{"type":"null"}],"description":"Présent si le paramètre `nom` est fourni. Permet de vérifier un nom (y compris d'entrepreneur individuel) sans que le nom officiel soit divulgué."},"verdict":{"$ref":"#/components/schemas/Verdict"},"signaux":{"type":"array","items":{"$ref":"#/components/schemas/Signal"}},"fraicheur":{"type":"string","enum":["temps_reel","cache","degradee"],"description":"« degradee » : une source est en panne, données en cache de moins de 7 jours."},"sources":{"type":"object","properties":{"mention":{"type":"string"},"detail":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["recherche_entreprises","bodacc","ademe_rge"]},"nom":{"type":"string"},"statut":{"type":"string","enum":["ok","indisponible"]}},"required":["id","nom","statut"],"additionalProperties":false}}},"required":["mention","detail"],"additionalProperties":false},"verifieLe":{"type":"string","description":"Date et heure de collecte des données (ISO 8601)."},"avertissement":{"type":"string"},"requestId":{"type":"string"}},"required":["siren","entreprise","procedures","correspondanceNom","verdict","signaux","fraicheur","sources","verifieLe","avertissement","requestId"],"additionalProperties":false},"SearchResult":{"type":"object","properties":{"siren":{"type":"string"},"siret":{"description":"Établissement affiché : celui qui correspond au filtre géographique, sinon le siège.","type":["string","null"]},"denomination":{"type":["string","null"]},"entrepreneurIndividuel":{"type":"boolean"},"etat":{"type":"string","enum":["active","cessee","inconnu"]},"codeNaf":{"type":["string","null"]},"commune":{"type":["string","null"]},"codePostal":{"type":["string","null"]},"dateCreation":{"type":["string","null"]}},"required":["siren","siret","denomination","entrepreneurIndividuel","etat","codeNaf","commune","codePostal","dateCreation"],"additionalProperties":false},"SearchResponse":{"type":"object","properties":{"requete":{"type":"object","properties":{"q":{"type":"string"},"commune":{"type":["string","null"]},"codePostal":{"type":["string","null"]}},"required":["q","commune","codePostal"],"additionalProperties":false},"resultats":{"maxItems":10,"type":"array","items":{"$ref":"#/components/schemas/SearchResult"}},"nombreResultats":{"type":"number","description":"Nombre de résultats renvoyés (10 au maximum)."},"plusDeResultats":{"type":"boolean","description":"true si d'autres entreprises correspondent : affinez."},"fraicheur":{"type":"string","enum":["temps_reel","cache","degradee"],"description":"« degradee » : une source est en panne, données en cache de moins de 7 jours."},"sources":{"type":"object","properties":{"mention":{"type":"string"},"detail":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["recherche_entreprises","bodacc","ademe_rge"]},"nom":{"type":"string"},"statut":{"type":"string","enum":["ok","indisponible"]}},"required":["id","nom","statut"],"additionalProperties":false}}},"required":["mention","detail"],"additionalProperties":false},"verifieLe":{"type":"string","description":"Date et heure de collecte des données (ISO 8601)."},"avertissement":{"type":"string"},"requestId":{"type":"string"}},"required":["requete","resultats","nombreResultats","plusDeResultats","fraicheur","sources","verifieLe","avertissement","requestId"],"additionalProperties":false},"QualificationRge":{"type":"object","properties":{"code":{"type":["string","null"]},"nom":{"type":["string","null"]},"domaines":{"type":"array","items":{"type":"string"}},"metaDomaine":{"type":["string","null"]},"organisme":{"type":["string","null"]},"certificat":{"type":["string","null"]},"dateDebut":{"type":["string","null"]},"dateFin":{"type":["string","null"]},"valide":{"type":"boolean","description":"true si la date du jour est dans la période de validité."},"particuliers":{"description":"Travaux ouverts aux particuliers.","type":["boolean","null"]},"url":{"type":["string","null"]}},"required":["code","nom","domaines","metaDomaine","organisme","certificat","dateDebut","dateFin","valide","particuliers","url"],"additionalProperties":false},"RgeResponse":{"type":"object","properties":{"siret":{"type":"string"},"siren":{"type":"string"},"denomination":{"type":["string","null"]},"etablissement":{"type":"object","properties":{"etat":{"type":"string","enum":["ouvert","ferme","inconnu"]},"commune":{"type":["string","null"]},"codePostal":{"type":["string","null"]}},"required":["etat","commune","codePostal"],"additionalProperties":false},"rge":{"type":"object","properties":{"qualifie":{"type":"boolean","description":"Au moins une qualification RGE valide aujourd'hui."},"nombreQualificationsValides":{"type":"number"},"qualifications":{"type":"array","items":{"$ref":"#/components/schemas/QualificationRge"}}},"required":["qualifie","nombreQualificationsValides","qualifications"],"additionalProperties":false},"fraicheur":{"type":"string","enum":["temps_reel","cache","degradee"],"description":"« degradee » : une source est en panne, données en cache de moins de 7 jours."},"sources":{"type":"object","properties":{"mention":{"type":"string"},"detail":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["recherche_entreprises","bodacc","ademe_rge"]},"nom":{"type":"string"},"statut":{"type":"string","enum":["ok","indisponible"]}},"required":["id","nom","statut"],"additionalProperties":false}}},"required":["mention","detail"],"additionalProperties":false},"verifieLe":{"type":"string","description":"Date et heure de collecte des données (ISO 8601)."},"avertissement":{"type":"string"},"requestId":{"type":"string"}},"required":["siret","siren","denomination","etablissement","rge","fraicheur","sources","verifieLe","avertissement","requestId"],"additionalProperties":false},"BatchItem":{"type":"object","properties":{"siren":{"type":"string"},"statut":{"type":"string","enum":["ok","introuvable","erreur"]},"resultat":{"anyOf":[{"type":"object","properties":{"siren":{"type":"string"},"entreprise":{"$ref":"#/components/schemas/Entreprise"},"procedures":{"anyOf":[{"$ref":"#/components/schemas/Procedures"},{"type":"null"}],"description":"null si le BODACC était indisponible."},"correspondanceNom":{"anyOf":[{"type":"object","properties":{"resultat":{"type":"string","enum":["exacte","partielle","aucune"],"description":"Tous les mots du nom demandé figurent dans le nom officiel / une partie / aucun."},"motsReconnus":{"type":"number"},"motsDemandes":{"type":"number"}},"required":["resultat","motsReconnus","motsDemandes"],"additionalProperties":false},{"type":"null"}],"description":"Présent si le paramètre `nom` est fourni. Permet de vérifier un nom (y compris d'entrepreneur individuel) sans que le nom officiel soit divulgué."},"verdict":{"$ref":"#/components/schemas/Verdict"},"signaux":{"type":"array","items":{"$ref":"#/components/schemas/Signal"}},"fraicheur":{"type":"string","enum":["temps_reel","cache","degradee"],"description":"« degradee » : une source est en panne, données en cache de moins de 7 jours."},"verifieLe":{"type":"string","description":"Date et heure de collecte des données (ISO 8601)."}},"required":["siren","entreprise","procedures","correspondanceNom","verdict","signaux","fraicheur","verifieLe"],"additionalProperties":false},{"type":"null"}],"description":"Présent si statut = ok."},"erreur":{"type":["string","null"]}},"required":["siren","statut","resultat","erreur"],"additionalProperties":false},"BatchResponse":{"type":"object","properties":{"resultats":{"type":"array","items":{"$ref":"#/components/schemas/BatchItem"}},"facturation":{"type":"object","properties":{"verificationsReussies":{"type":"number"},"prixUnitaireUsd":{"type":"number"},"montantUsd":{"type":"number","description":"Montant réellement réglé (seules les vérifications réussies sont facturées)."}},"required":["verificationsReussies","prixUnitaireUsd","montantUsd"],"additionalProperties":false},"fraicheur":{"type":"string","enum":["temps_reel","cache","degradee"],"description":"« degradee » : une source est en panne, données en cache de moins de 7 jours."},"sources":{"type":"object","properties":{"mention":{"type":"string"},"detail":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["recherche_entreprises","bodacc","ademe_rge"]},"nom":{"type":"string"},"statut":{"type":"string","enum":["ok","indisponible"]}},"required":["id","nom","statut"],"additionalProperties":false}}},"required":["mention","detail"],"additionalProperties":false},"verifieLe":{"type":"string","description":"Date et heure de collecte des données (ISO 8601)."},"avertissement":{"type":"string"},"requestId":{"type":"string"}},"required":["resultats","facturation","fraicheur","sources","verifieLe","avertissement","requestId"],"additionalProperties":false},"Erreur":{"type":"object","properties":{"erreur":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["code","message"],"additionalProperties":false},"requestId":{"type":"string"}},"required":["erreur","requestId"],"additionalProperties":false}}}}