{
  "openapi": "3.1.0",
  "info": {
    "title": "API de l'annuaire Acquy",
    "version": "1.0.0",
    "summary": "Données publiques des entreprises françaises et scoring de solvabilité Acquy.",
    "description": "Fiches d'entreprises, comptes annuels, documents officiels, compléments (TVA, marchés publics, accords, contentieux, sanctions) et note de solvabilité, en JSON. Sources : INSEE, INPI / RNE, DILA / BODACC, DGFiP, DECP, Légifrance, Judilibre, DGCCRF.\n\nCrédits : chaque route donne son prix dans x-credits, par appel ; quand x-credits-unite vaut « entreprise », le prix vaut par entreprise rendue.\n\nLimites : 5 appels par seconde par clé, 60 recherches gratuites par minute.",
    "contact": {
      "name": "Acquy",
      "email": "tech@acquy.fr"
    }
  },
  "servers": [
    {
      "url": "https://api.annuaire.acquy.fr/v1",
      "description": "Production"
    }
  ],
  "security": [
    {
      "cle": []
    }
  ],
  "tags": [
    {
      "name": "Recherche",
      "description": "Trouver des entreprises."
    },
    {
      "name": "Entreprise",
      "description": "Fiches d'entreprises et de dirigeants."
    },
    {
      "name": "Documents",
      "description": "Actes, statuts et comptes déposés."
    },
    {
      "name": "Compléments",
      "description": "TVA, marchés publics, accords, contentieux, sanctions."
    },
    {
      "name": "Scoring",
      "description": "Note de solvabilité et rapport."
    }
  ],
  "paths": {
    "/recherche": {
      "get": {
        "tags": [
          "Recherche"
        ],
        "operationId": "rechercher",
        "summary": "Rechercher une entreprise",
        "description": "Trouve une entreprise par son nom, son sigle, son SIREN ou son SIRET. Gratuite, dans la limite d'un usage raisonnable.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Nom, sigle, SIREN ou SIRET.",
            "schema": {
              "type": "string"
            },
            "example": "renault"
          },
          {
            "name": "departement",
            "in": "query",
            "required": false,
            "description": "Restreint au département du siège.",
            "schema": {
              "type": "string"
            },
            "example": "92"
          }
        ],
        "responses": {
          "200": {
            "description": "Les entreprises correspondantes.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Recherche"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 0
      }
    },
    "/avancee": {
      "get": {
        "tags": [
          "Recherche"
        ],
        "operationId": "lister",
        "summary": "Lister des entreprises par filtres",
        "description": "Une page de 25 entreprises répondant aux filtres, à 1 crédit par entreprise rendue : une page pleine compte 25 crédits, une page vide rien. Le solde doit couvrir une page pleine au moment de l'appel ; le trop-perçu est rendu aussitôt. Au moins un filtre est requis ; au-delà de 10 000 résultats, affinez. Les listes se combinent par virgule (naf=62.01Z,62.02A).",
        "parameters": [
          {
            "name": "naf",
            "in": "query",
            "required": false,
            "description": "Codes NAF.",
            "schema": {
              "type": "string"
            },
            "example": "62.01Z"
          },
          {
            "name": "section",
            "in": "query",
            "required": false,
            "description": "Sections NAF (lettres).",
            "schema": {
              "type": "string"
            },
            "example": "F"
          },
          {
            "name": "departement",
            "in": "query",
            "required": false,
            "description": "Départements.",
            "schema": {
              "type": "string"
            },
            "example": "69"
          },
          {
            "name": "region",
            "in": "query",
            "required": false,
            "description": "Codes région INSEE.",
            "schema": {
              "type": "string"
            },
            "example": "84"
          },
          {
            "name": "code_postal",
            "in": "query",
            "required": false,
            "description": "Codes postaux.",
            "schema": {
              "type": "string"
            },
            "example": "69003"
          },
          {
            "name": "code_commune",
            "in": "query",
            "required": false,
            "description": "Codes commune INSEE.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nature_juridique",
            "in": "query",
            "required": false,
            "description": "Catégories juridiques INSEE.",
            "schema": {
              "type": "string"
            },
            "example": "5710"
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Mots du nom.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categorie",
            "in": "query",
            "required": false,
            "description": "PME, ETI ou GE.",
            "schema": {
              "type": "string"
            },
            "example": "PME"
          },
          {
            "name": "etat",
            "in": "query",
            "required": false,
            "description": "A (active) ou C (cessée) ; les deux par défaut.",
            "schema": {
              "type": "string"
            },
            "example": "A"
          },
          {
            "name": "idcc",
            "in": "query",
            "required": false,
            "description": "Conventions collectives (IDCC).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "effectif_min",
            "in": "query",
            "required": false,
            "description": "Effectif salarié minimal.",
            "schema": {
              "type": "integer"
            },
            "example": 10
          },
          {
            "name": "effectif_max",
            "in": "query",
            "required": false,
            "description": "Effectif salarié maximal.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "ca_min",
            "in": "query",
            "required": false,
            "description": "Chiffre d'affaires minimal, en euros.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "ca_max",
            "in": "query",
            "required": false,
            "description": "Chiffre d'affaires maximal.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "resultat_min",
            "in": "query",
            "required": false,
            "description": "Résultat net minimal.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "resultat_max",
            "in": "query",
            "required": false,
            "description": "Résultat net maximal.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "creation_min",
            "in": "query",
            "required": false,
            "description": "Créée à partir du (AAAA-MM-JJ).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "creation_max",
            "in": "query",
            "required": false,
            "description": "Créée jusqu'au.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "capital_min",
            "in": "query",
            "required": false,
            "description": "Capital minimal.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "capital_max",
            "in": "query",
            "required": false,
            "description": "Capital maximal.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "procedure",
            "in": "query",
            "required": false,
            "description": "Procédure collective : aucune, sauvegarde, redressement, liquidation, autre. Par défaut, toute procédure déjà connue, close comprise.",
            "schema": {
              "type": "string"
            },
            "example": "redressement"
          },
          {
            "name": "procedures_passees",
            "in": "query",
            "required": false,
            "description": "false : seulement les procédures en cours.",
            "schema": {
              "type": "string",
              "enum": [
                "false"
              ]
            }
          },
          {
            "name": "statut_rcs",
            "in": "query",
            "required": false,
            "description": "Inscription au RCS : inscrit, radie, non_inscrit.",
            "schema": {
              "type": "string"
            },
            "example": "inscrit"
          },
          {
            "name": "diffusion",
            "in": "query",
            "required": false,
            "description": "O : diffusion publique (défaut), P : partielle.",
            "schema": {
              "type": "string",
              "enum": [
                "O",
                "P"
              ]
            }
          },
          {
            "name": "etablissements",
            "in": "query",
            "required": false,
            "description": "Où chercher lieu et activité : true (établissements ouverts), historique (fermés compris, défaut), siege (siège seul).",
            "schema": {
              "type": "string",
              "enum": [
                "true",
                "historique",
                "siege"
              ]
            }
          },
          {
            "name": "publication_min",
            "in": "query",
            "required": false,
            "description": "Une annonce BODACC parue à partir du (AAAA-MM-JJ).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "publication_max",
            "in": "query",
            "required": false,
            "description": "Une annonce BODACC parue jusqu'au.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type_publication",
            "in": "query",
            "required": false,
            "description": "Familles d'annonces BODACC : creation, immatriculation, modification, vente, radiation, collective, dpc.",
            "schema": {
              "type": "string"
            },
            "example": "vente"
          },
          {
            "name": "document_min",
            "in": "query",
            "required": false,
            "description": "Des comptes déposés à partir du (AAAA-MM-JJ).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "document_max",
            "in": "query",
            "required": false,
            "description": "Des comptes déposés jusqu'au.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "objet",
            "in": "query",
            "required": false,
            "description": "Mots de l'objet social.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "siren",
            "in": "query",
            "required": false,
            "description": "Liste de SIREN (1 000 au plus).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "naissance_min",
            "in": "query",
            "required": false,
            "description": "Un dirigeant né à partir du (AAAA-MM).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "naissance_max",
            "in": "query",
            "required": false,
            "description": "Un dirigeant né jusqu'au (AAAA-MM).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "labels",
            "in": "query",
            "required": false,
            "description": "rge, ess, bio, qualiopi, siae, mission, patrimoine_vivant, association.",
            "schema": {
              "type": "string"
            },
            "example": "ess"
          },
          {
            "name": "age_min",
            "in": "query",
            "required": false,
            "description": "Âge minimal d'un dirigeant.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "age_max",
            "in": "query",
            "required": false,
            "description": "Âge maximal d'un dirigeant.",
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "latitude",
            "in": "query",
            "required": false,
            "description": "Recherche autour d'un point.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "longitude",
            "in": "query",
            "required": false,
            "description": "Recherche autour d'un point.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "rayon_km",
            "in": "query",
            "required": false,
            "description": "Rayon autour du point.",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "ei",
            "in": "query",
            "required": false,
            "description": "Entrepreneurs individuels : exclure ou seulement.",
            "schema": {
              "type": "string",
              "enum": [
                "exclure",
                "seulement"
              ]
            }
          },
          {
            "name": "tri",
            "in": "query",
            "required": false,
            "description": "taille : les plus grandes d'abord.",
            "schema": {
              "type": "string",
              "enum": [
                "taille"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "Numéro de page, à partir de 1.",
            "schema": {
              "type": "integer",
              "minimum": 1
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "Une page de résultats.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PageAvancee"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1,
        "x-credits-unite": "entreprise"
      }
    },
    "/fiche": {
      "get": {
        "tags": [
          "Entreprise"
        ],
        "operationId": "fiche",
        "summary": "Fiche complète d'une entreprise",
        "description": "Identité, dirigeants, établissements, comptes annuels et ratios, procédures collectives, annonces BODACC, marques et sociétés liées, en un appel.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "La fiche.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Fiche"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/documents": {
      "get": {
        "tags": [
          "Documents"
        ],
        "operationId": "documents",
        "summary": "Actes et comptes déposés",
        "description": "La liste des actes, des statuts et des comptes annuels déposés au registre national des entreprises, avec l'identifiant de chaque PDF.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "Les documents disponibles.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Documents"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/document.pdf": {
      "get": {
        "tags": [
          "Documents"
        ],
        "operationId": "document_pdf",
        "summary": "Télécharger un acte ou une liasse",
        "description": "Le PDF tel que déposé au registre.",
        "parameters": [
          {
            "name": "genre",
            "in": "query",
            "required": true,
            "description": "acte ou bilan.",
            "schema": {
              "type": "string",
              "enum": [
                "acte",
                "bilan"
              ]
            },
            "example": "bilan"
          },
          {
            "name": "id",
            "in": "query",
            "required": true,
            "description": "Identifiant donné par /documents (ou pdf_id de /fiche).",
            "schema": {
              "type": "string"
            },
            "example": "6a1e90d5186449233a0ee7ee"
          }
        ],
        "responses": {
          "200": {
            "description": "Le document.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 2
      }
    },
    "/tva": {
      "get": {
        "tags": [
          "Compléments"
        ],
        "operationId": "tva",
        "summary": "Numéro de TVA et validité",
        "description": "Le numéro de TVA intracommunautaire et sa validité d'après VIES.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "Le numéro et son état.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tva"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/marches": {
      "get": {
        "tags": [
          "Compléments"
        ],
        "operationId": "marches",
        "summary": "Marchés publics remportés",
        "description": "Objet, montant, acheteur et date de chaque marché attribué à l'entreprise (données essentielles de la commande publique).",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "Les marchés.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Marches"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/accords": {
      "get": {
        "tags": [
          "Compléments"
        ],
        "operationId": "accords",
        "summary": "Accords d'entreprise",
        "description": "Accords d'entreprise publiés sur Légifrance.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "Les accords.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Accords"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/contentieux": {
      "get": {
        "tags": [
          "Compléments"
        ],
        "operationId": "contentieux",
        "summary": "Décisions de justice",
        "description": "Décisions de justice où l'entreprise est partie (Judilibre), avec son rôle.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "Les décisions.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contentieux"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/sanctions": {
      "get": {
        "tags": [
          "Compléments"
        ],
        "operationId": "sanctions",
        "summary": "Sanctions DGCCRF",
        "description": "Injonctions et sanctions publiées par la DGCCRF, dont celles pour retards de paiement.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "Les sanctions.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sanctions"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/dirigeant": {
      "get": {
        "tags": [
          "Entreprise"
        ],
        "operationId": "dirigeant",
        "summary": "Fiche d'un dirigeant",
        "description": "Mandats actuels et passés d'un dirigeant, sociétés et personnes liées.",
        "parameters": [
          {
            "name": "cle",
            "in": "query",
            "required": true,
            "description": "Clé du dirigeant (champ cle des dirigeants de /fiche).",
            "schema": {
              "type": "string"
            },
            "example": "carlos_antunes_tavares_dias_1958-08"
          }
        ],
        "responses": {
          "200": {
            "description": "La fiche du dirigeant.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FicheDirigeant"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 1
      }
    },
    "/solvabilite": {
      "get": {
        "tags": [
          "Scoring"
        ],
        "operationId": "solvabilite",
        "summary": "Note de solvabilité",
        "description": "Note sur 100, risque de défaillance à douze mois, vigilance et encours conseillé sur 30 jours. Le calcul d'une entreprise jamais notée peut prendre jusqu'à une minute. Débitée une fois par entreprise et par période de sept jours.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          },
          {
            "name": "encours",
            "in": "query",
            "required": false,
            "description": "Votre encours actuel sur ce client, en euros : la réponse donne la marge restante.",
            "schema": {
              "type": "integer",
              "minimum": 0
            },
            "example": 50000
          }
        ],
        "responses": {
          "200": {
            "description": "La note.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Solvabilite"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 20
      }
    },
    "/rapport.pdf": {
      "get": {
        "tags": [
          "Scoring"
        ],
        "operationId": "rapport_pdf",
        "summary": "Rapport de solvabilité en PDF",
        "description": "Le rapport complet, mis en page, prêt à joindre à un dossier de crédit. La note est comprise.",
        "parameters": [
          {
            "name": "siren",
            "in": "query",
            "required": true,
            "description": "SIREN de l'entreprise, 9 chiffres. Les espaces et les points sont acceptés.",
            "schema": {
              "type": "string",
              "pattern": "^[0-9 .]{9,13}$"
            },
            "example": "552100554"
          }
        ],
        "responses": {
          "200": {
            "description": "Le rapport.",
            "headers": {
              "X-Credits-Debites": {
                "description": "Crédits débités par cet appel (0 si gratuit ou déjà payé dans les sept jours).",
                "schema": {
                  "type": "integer"
                },
                "example": 1
              },
              "X-Credits-Restants": {
                "description": "Solde du compte après l'appel.",
                "schema": {
                  "type": "integer"
                },
                "example": 4182
              }
            },
            "content": {
              "application/pdf": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequeteInvalide"
          },
          "401": {
            "$ref": "#/components/responses/NonAutorise"
          },
          "402": {
            "$ref": "#/components/responses/SoldeEpuise"
          },
          "404": {
            "$ref": "#/components/responses/Introuvable"
          },
          "429": {
            "$ref": "#/components/responses/TropDeRequetes"
          },
          "502": {
            "$ref": "#/components/responses/SourceIndisponible"
          },
          "503": {
            "$ref": "#/components/responses/SourceSaturee"
          }
        },
        "x-credits": 50
      }
    }
  },
  "components": {
    "securitySchemes": {
      "cle": {
        "type": "http",
        "scheme": "bearer",
        "description": "Votre clé d'API, créée dans votre compte de l'annuaire : Authorization: Bearer VOTRE_CLE."
      }
    },
    "schemas": {
      "Erreur": {
        "type": "object",
        "properties": {
          "erreur": {
            "type": "string",
            "description": "Message lisible.",
            "example": "Le SIREN doit comporter 9 chiffres."
          },
          "code": {
            "type": "string",
            "description": "Code stable, à tester dans votre code.",
            "example": "siren_invalide"
          }
        },
        "required": [
          "erreur",
          "code"
        ]
      },
      "Candidat": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "nom": {
            "type": "string",
            "description": "Dénomination.",
            "example": "RENAULT"
          },
          "sigle": {
            "type": [
              "string",
              "null"
            ],
            "description": "Sigle."
          },
          "adresse": {
            "type": [
              "string",
              "null"
            ],
            "description": "Adresse du siège (null en diffusion partielle).",
            "example": "122B AVENUE DU GENERAL LECLERC 92100 BOULOGNE BILLANCOURT"
          },
          "naf": {
            "type": "string",
            "description": "Code d'activité principale (NAF rév. 2).",
            "example": "64.20Z"
          },
          "nature_juridique": {
            "type": "string",
            "description": "Catégorie juridique INSEE.",
            "example": "5510"
          },
          "etat": {
            "type": "string",
            "description": "« En activité » ou « Cessée ».",
            "example": "En activité"
          },
          "date_creation": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date de création (AAAA-MM-JJ).",
            "example": "2002-04-01"
          },
          "effectif": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tranche d'effectif salarié.",
            "example": "1 à 2"
          },
          "categorie": {
            "type": [
              "string",
              "null"
            ],
            "description": "PME, ETI ou GE.",
            "example": "GE"
          },
          "nb_etablissements_ouverts": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Établissements ouverts.",
            "example": 0
          },
          "nb_dirigeants": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Dirigeants connus.",
            "example": 18
          }
        }
      },
      "Recherche": {
        "type": "object",
        "properties": {
          "candidats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Candidat"
            },
            "description": "Dix entreprises au plus, les plus pertinentes d'abord."
          }
        }
      },
      "LigneAvancee": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "nom": {
            "type": "string",
            "description": "Dénomination.",
            "example": "RENAULT"
          },
          "sigle": {
            "type": [
              "string",
              "null"
            ],
            "description": "Sigle."
          },
          "naf": {
            "type": "string",
            "description": "Code d'activité principale (NAF rév. 2).",
            "example": "64.20Z"
          },
          "nature_juridique": {
            "type": "string",
            "description": "Catégorie juridique INSEE.",
            "example": "5510"
          },
          "categorie": {
            "type": [
              "string",
              "null"
            ],
            "description": "PME, ETI ou GE.",
            "example": "GE"
          },
          "effectif": {
            "type": [
              "string",
              "null"
            ],
            "description": "Tranche d'effectif salarié.",
            "example": "1 à 2"
          },
          "date_creation": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date de création (AAAA-MM-JJ).",
            "example": "2002-04-01"
          },
          "etat": {
            "type": "string",
            "description": "« En activité » ou « Cessée ».",
            "example": "En activité"
          },
          "adresse": {
            "type": [
              "string",
              "null"
            ],
            "description": "Adresse du siège (null en diffusion partielle).",
            "example": "122B AVENUE DU GENERAL LECLERC 92100 BOULOGNE BILLANCOURT"
          },
          "nb_etablissements_ouverts": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Établissements ouverts.",
            "example": 0
          },
          "nb_dirigeants": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Dirigeants connus.",
            "example": 18
          },
          "section_naf": {
            "type": "string",
            "description": "Section NAF (lettre).",
            "example": "J"
          },
          "effectif_annee": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Année de l'effectif."
          },
          "code_postal": {
            "type": "string",
            "description": "Code postal du siège.",
            "example": "69120"
          },
          "commune": {
            "type": "string",
            "description": "Commune du siège.",
            "example": "VAULX-EN-VELIN"
          },
          "departement": {
            "type": "string",
            "description": "Département du siège.",
            "example": "69"
          },
          "ca_dernier": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Dernier chiffre d'affaires publié. Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
          },
          "resultat_net_dernier": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Dernier résultat net publié. Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
          },
          "exercice_finances": {
            "type": [
              "string",
              "null"
            ],
            "description": "Année de ces deux montants."
          }
        }
      },
      "PageAvancee": {
        "type": "object",
        "properties": {
          "total": {
            "type": "integer",
            "description": "Nombre total d'entreprises, plafonné à 10 000.",
            "example": 10950
          },
          "page": {
            "type": "integer",
            "example": 1
          },
          "par_page": {
            "type": "integer",
            "example": 25
          },
          "pages": {
            "type": "integer",
            "example": 400
          },
          "lignes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LigneAvancee"
            }
          }
        }
      },
      "Dirigeant": {
        "type": "object",
        "properties": {
          "nom": {
            "type": "string",
            "description": "Nom affiché.",
            "example": "Carlos ANTUNES TAVARES DIAS"
          },
          "qualite": {
            "type": "string",
            "description": "Fonction.",
            "example": "Dirigeant"
          },
          "naissance": {
            "type": [
              "string",
              "null"
            ],
            "description": "Mois de naissance (AAAA-MM), personnes physiques.",
            "example": "1958-08"
          },
          "siren_pm": {
            "type": [
              "string",
              "null"
            ],
            "description": "SIREN si le dirigeant est une société."
          },
          "cle": {
            "type": [
              "string",
              "null"
            ],
            "description": "Clé de la fiche dirigeant (route /dirigeant).",
            "example": "carlos_antunes_tavares_dias_1958-08"
          }
        }
      },
      "Identite": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "552100554"
          },
          "nom": {
            "type": "string",
            "description": "Dénomination.",
            "example": "PEUGEOT SA"
          },
          "adresse": {
            "type": "string",
            "description": "Adresse du siège.",
            "example": "ROUTE DE GIZY 78140 VELIZY-VILLACOUBLAY"
          },
          "siret_siege": {
            "type": [
              "string",
              "null"
            ],
            "description": "SIRET du siège.",
            "example": "55210055400054"
          },
          "naf": {
            "type": "string",
            "description": "Code NAF.",
            "example": "70.10Z"
          },
          "naf_libelle": {
            "type": [
              "string",
              "null"
            ],
            "description": "Libellé de l'activité.",
            "example": "Activités des sièges sociaux"
          },
          "nature_juridique": {
            "type": [
              "string",
              "null"
            ],
            "description": "Catégorie juridique INSEE.",
            "example": "5699"
          },
          "forme_juridique": {
            "type": [
              "string",
              "null"
            ],
            "description": "Libellé de la forme juridique.",
            "example": "SA à directoire (s.a.i.)"
          },
          "etat": {
            "type": "string",
            "description": "« En activité » ou « Cessée ».",
            "example": "Cessée"
          },
          "date_creation": {
            "type": "string",
            "description": "Date de création.",
            "example": "1955-01-01"
          },
          "effectif": {
            "type": "string",
            "description": "Tranche d'effectif salarié.",
            "example": "0 salarié"
          },
          "categorie": {
            "type": "string",
            "description": "PME, ETI ou GE ; « n.d. » si inconnue.",
            "example": "n.d."
          },
          "capital": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Capital social. Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
            "example": 894828213
          },
          "capital_devise": {
            "type": "string",
            "description": "Devise du capital.",
            "example": "EUR"
          },
          "lei": {
            "type": [
              "string",
              "null"
            ],
            "description": "Identifiant LEI."
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Code.",
                  "example": "est_ess"
                },
                "libelle": {
                  "type": "string",
                  "description": "Libellé.",
                  "example": "Économie sociale et solidaire"
                }
              }
            },
            "description": "Labels et engagements (RGE, ESS, Qualiopi, société à mission…)."
          },
          "noms_commerciaux": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dirigeants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Dirigeant"
            },
            "description": "Dirigeants en fonction d'après le RNE."
          },
          "maj_insee": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dernière mise à jour INSEE.",
            "example": "2024-03-22"
          },
          "maj_rne": {
            "type": [
              "string",
              "null"
            ],
            "description": "Dernière mise à jour RNE.",
            "example": "2026-08-26"
          }
        },
        "description": "Identité de l'entreprise (SIRENE et RNE)."
      },
      "Juridique": {
        "type": "object",
        "properties": {
          "tva": {
            "type": "object",
            "properties": {
              "numero": {
                "type": "string",
                "description": "Numéro de TVA intracommunautaire.",
                "example": "FR96552100554"
              },
              "etat": {
                "type": "string",
                "description": "« actif » ou « non_valide » (VIES).",
                "example": "non_valide"
              }
            }
          },
          "rcs": {
            "type": "object",
            "properties": {
              "inscrit": {
                "type": "boolean"
              },
              "date": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Immatriculation.",
                "example": "2020-04-17"
              },
              "radiee": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Date de radiation.",
                "example": "2021-02-04"
              }
            }
          },
          "rne": {
            "type": "object",
            "properties": {
              "inscrit": {
                "type": "boolean"
              },
              "date": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Inscription au RNE.",
                "example": "2020-04-17"
              }
            }
          },
          "rnm": {
            "type": "boolean",
            "description": "Inscrite au répertoire des métiers."
          },
          "objet": {
            "type": [
              "string",
              "null"
            ],
            "description": "Objet social.",
            "example": "Gestions de valeurs mobilières…"
          },
          "formes_exercice": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Commerciale, artisanale, libérale…"
          },
          "cloture_exercice": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date de clôture (JJ/MM).",
            "example": "31/12"
          },
          "duree_ans": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Durée statutaire en années.",
            "example": 38
          },
          "conventions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Conventions collectives (IDCC)."
          },
          "opposition_prospection": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "L'entreprise s'oppose à la prospection commerciale."
          }
        }
      },
      "Etablissement": {
        "type": "object",
        "properties": {
          "siret": {
            "type": "string",
            "description": "SIRET.",
            "example": "55210055400054"
          },
          "siege": {
            "type": "boolean"
          },
          "etat": {
            "type": "string",
            "description": "« ouvert » ou « fermé ».",
            "example": "fermé"
          },
          "adresse": {
            "type": "string",
            "description": "Adresse.",
            "example": "ROUTE DE GISY 78140 VELIZY VILLACOUBLAY"
          },
          "code_ape": {
            "type": "string",
            "description": "Activité de l'établissement.",
            "example": "7010Z"
          },
          "enseigne": {
            "type": [
              "string",
              "null"
            ],
            "description": "Enseigne."
          },
          "debut_activite": {
            "type": [
              "string",
              "null"
            ],
            "description": "Début d'activité.",
            "example": "2020-04-27"
          },
          "fermeture": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date de fermeture.",
            "example": "2021-01-16"
          }
        }
      },
      "Exercice": {
        "type": "object",
        "properties": {
          "annee": {
            "type": "string",
            "description": "Année de l'exercice.",
            "example": "2019"
          },
          "cloture": {
            "type": "string",
            "description": "Date de clôture.",
            "example": "2019-12-31"
          },
          "depot": {
            "type": "string",
            "description": "Date de dépôt au greffe.",
            "example": "2020-07-22"
          },
          "duree_mois": {
            "type": "string",
            "description": "Durée en mois.",
            "example": "12"
          },
          "type_bilan": {
            "type": "string",
            "description": "Complet, Simplifié ou Consolidé.",
            "example": "Complet"
          },
          "confidentiel": {
            "type": "boolean",
            "description": "Compte de résultat non publié : seul le bilan est disponible."
          },
          "ca": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Chiffre d'affaires. Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
          },
          "rex": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Résultat d'exploitation. Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
            "example": -1200000
          },
          "rn": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Résultat net. Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
            "example": 1588300000
          },
          "capital": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Capital. Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
            "example": 904800000
          },
          "bilan": {
            "type": "object",
            "properties": {
              "clients": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "autres_creances": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "disponibilites": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "total_actif": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "capitaux_propres": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "dettes_credit": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "dettes_financieres": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "fournisseurs": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "fiscales_sociales": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "autres_dettes": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "total_dettes": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              },
              "total_passif": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
              }
            },
            "description": "Principaux postes du bilan."
          },
          "ratios": {
            "type": "object",
            "properties": {
              "croissance_ca_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Croissance du chiffre d'affaires sur un an, en %."
              },
              "marge_brute": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Marge brute : produits d'exploitation moins achats consommés, en euros."
              },
              "marge_brute_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Marge brute / CA, en %."
              },
              "marge_operationnelle_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Résultat d'exploitation / CA, en %."
              },
              "marge_nette_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Résultat net / CA, en %."
              },
              "valeur_ajoutee": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Valeur ajoutée, en euros."
              },
              "va_sur_ca_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Valeur ajoutée / CA, en %."
              },
              "ebe": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Excédent brut d'exploitation, en euros."
              },
              "marge_ebe_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "EBE / CA, en %."
              },
              "caf": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Capacité d'autofinancement, en euros."
              },
              "caf_sur_ca_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "CAF / CA, en %."
              },
              "charges_personnel": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Salaires et charges sociales, en euros."
              },
              "salaires_charges": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Salaires et charges, en euros (même poste, libellé de la liasse)."
              },
              "personnel_sur_ca_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Charges de personnel / CA, en %."
              },
              "impots_taxes": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Impôts et taxes, en euros."
              },
              "ca_export": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Chiffre d'affaires à l'export, en euros."
              },
              "fonds_de_roulement": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Fonds de roulement, en euros."
              },
              "bfr": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Besoin en fonds de roulement, en euros."
              },
              "bfr_exploitation": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "BFR d'exploitation (hors dettes fiscales et sociales), en euros."
              },
              "bfr_hors_exploitation": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "BFR hors exploitation, en euros."
              },
              "bfr_jours_ca": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "BFR en jours de chiffre d'affaires."
              },
              "couverture_bfr": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Fonds de roulement / BFR."
              },
              "stocks_jours_ca": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Stocks en jours de chiffre d'affaires."
              },
              "tresorerie": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Trésorerie : disponibilités et VMP, en euros."
              },
              "dettes_financieres": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dettes financières, en euros."
              },
              "dettes_un_an": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dettes à un an au plus, en euros."
              },
              "fonds_propres": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Fonds propres, en euros."
              },
              "endettement_net_sur_fp": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dette nette / fonds propres."
              },
              "levier_dette_nette_ebe": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dette nette / EBE."
              },
              "capacite_remboursement_ans": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Dettes financières / CAF, en années."
              },
              "autonomie_financiere_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Fonds propres / total du bilan, en %."
              },
              "liquidite_generale": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Actif circulant / dettes à un an au plus."
              },
              "delai_clients_j": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Délai de paiement des clients, en jours."
              },
              "delai_fournisseurs_j": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Délai de paiement des fournisseurs, en jours."
              },
              "rentabilite_fp_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Résultat net / fonds propres, en %."
              },
              "rentabilite_actif_pct": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Résultat net / total du bilan, en %."
              },
              "effectif": {
                "type": [
                  "number",
                  "null"
                ],
                "description": "Effectif moyen déclaré dans la liasse."
              }
            },
            "description": "Ratios calculés sur la liasse ; null quand un terme manque, vide pour des comptes consolidés."
          },
          "pdf_id": {
            "type": [
              "string",
              "null"
            ],
            "description": "Identifiant du PDF de la liasse (route /document.pdf)."
          }
        }
      },
      "Procedure": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Date du jugement.",
            "example": "2021-02-04"
          },
          "categorie": {
            "type": "string",
            "enum": [
              "Procédure collective",
              "Rétablissement professionnel",
              "Procédure de conciliation",
              "Radiation"
            ],
            "example": "Radiation"
          },
          "nature": {
            "type": "string",
            "description": "Nature de l'annonce.",
            "example": "Avis initial"
          },
          "tribunal": {
            "type": "string",
            "description": "Tribunal.",
            "example": "GREFFE DU TRIBUNAL DE COMMERCE DE VERSAILLES"
          },
          "pdf": {
            "type": [
              "string",
              "null"
            ],
            "description": "Lien vers l'annonce BODACC.",
            "example": "https://www.bodacc.fr/…"
          }
        }
      },
      "Annonce": {
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Date de parution.",
            "example": "2021-02-04"
          },
          "famille": {
            "type": "string",
            "description": "Famille d'annonce BODACC.",
            "example": "Radiations"
          },
          "type": {
            "type": "string",
            "description": "Type d'avis.",
            "example": "Avis initial"
          },
          "caduque": {
            "type": "boolean"
          },
          "pdf": {
            "type": [
              "string",
              "null"
            ],
            "description": "Lien BODACC."
          }
        }
      },
      "Marque": {
        "type": "object",
        "properties": {
          "numero": {
            "type": "string",
            "description": "Numéro.",
            "example": "18450934"
          },
          "office": {
            "type": "string",
            "description": "FR, UE ou WO.",
            "example": "UE"
          },
          "nom": {
            "type": "string",
            "description": "Libellé.",
            "example": "TRUST & GO"
          },
          "statut": {
            "type": "string",
            "description": "Statut.",
            "example": "Marque enregistrée"
          },
          "depot": {
            "type": "string",
            "description": "Dépôt.",
            "example": "2021-04-12"
          },
          "expiration": {
            "type": [
              "string",
              "null"
            ],
            "description": "Expiration.",
            "example": "2031-04-12"
          },
          "classes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Classes de Nice."
          },
          "lien": {
            "type": [
              "string",
              "null"
            ],
            "description": "Notice de l'office."
          }
        }
      },
      "Graphe": {
        "type": "object",
        "properties": {
          "noeuds": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Identifiant du nœud.",
                  "example": "n1"
                },
                "siren": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "SIREN si société."
                },
                "nom": {
                  "type": "string",
                  "description": "Nom.",
                  "example": "Carlos ANTUNES TAVARES DIAS"
                },
                "type": {
                  "type": "string",
                  "description": "centre, societe ou personne.",
                  "example": "personne"
                },
                "niveau": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Distance au centre.",
                  "example": 1
                }
              }
            }
          },
          "liens": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "de": {
                  "type": "string",
                  "description": "Nœud de départ.",
                  "example": "n1"
                },
                "vers": {
                  "type": "string",
                  "description": "Nœud d'arrivée.",
                  "example": "n0"
                },
                "relation": {
                  "type": "string",
                  "description": "Nature du lien.",
                  "example": "Dirigeant"
                }
              }
            }
          },
          "complet": {
            "type": "boolean",
            "description": "false si le graphe a été tronqué."
          }
        },
        "description": "Cartographie : dirigeants, sociétés dirigées et sociétés liées."
      },
      "Fiche": {
        "type": "object",
        "properties": {
          "identite": {
            "$ref": "#/components/schemas/Identite"
          },
          "juridique": {
            "$ref": "#/components/schemas/Juridique"
          },
          "etablissements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Etablissement"
            }
          },
          "exercices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exercice"
            },
            "description": "Comptes sociaux déposés, du plus récent au plus ancien."
          },
          "consolide": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Exercice"
            },
            "description": "Comptes consolidés, s'il y en a."
          },
          "procedures": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Procedure"
            },
            "description": "Procédures collectives et radiations (BODACC)."
          },
          "journal": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Annonce"
            },
            "description": "Annonces BODACC, les 100 plus récentes au plus."
          },
          "marques": {
            "type": "object",
            "properties": {
              "total": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Marques déposées.",
                "example": 23
              },
              "marques": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Marque"
                }
              }
            }
          },
          "graphe": {
            "$ref": "#/components/schemas/Graphe"
          },
          "mandats": {
            "type": "object",
            "properties": {
              "anciens": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "nom": {
                      "type": "string",
                      "description": "Nom.",
                      "example": "Bpifrance Participations"
                    },
                    "qualite": {
                      "type": "string",
                      "description": "Fonction.",
                      "example": "membre du conseil de surveillance"
                    },
                    "debut": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Début.",
                      "example": "2020-08-25"
                    },
                    "fin": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "description": "Fin.",
                      "example": "2020-09-20"
                    }
                  }
                },
                "description": "Anciens dirigeants."
              }
            }
          },
          "contact": {
            "type": "object",
            "properties": {
              "site_internet": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Site internet.",
                "example": "peugeot.fr"
              },
              "telephone": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Téléphone."
              },
              "email": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "E-mail."
              }
            }
          },
          "dernier_depot_publie": {
            "type": [
              "string",
              "null"
            ],
            "description": "Date du dernier dépôt de comptes publié.",
            "example": "2020-07-24"
          },
          "nb_annonces": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Annonces BODACC.",
            "example": 82
          }
        },
        "description": "Fiche complète d'une entreprise. Les blocs non documentés ici peuvent apparaître : ignorez les champs inconnus."
      },
      "Acte": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifiant du PDF.",
            "example": "6ae25557e903346a93085704"
          },
          "date": {
            "type": "string",
            "description": "Date.",
            "example": "2026-10-28"
          },
          "groupes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "description": "Type d'acte.",
                  "example": "PV d'assemblée"
                },
                "decisions": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      },
      "Documents": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "statuts": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Identifiant du PDF.",
                    "example": "6a229768a8a3002c1f023c73"
                  },
                  "date": {
                    "type": "string",
                    "description": "Date.",
                    "example": "2026-05-20"
                  },
                  "type": {
                    "type": "string",
                    "description": "Type.",
                    "example": "Copie des statuts mis à jour"
                  }
                }
              },
              {
                "type": "null"
              }
            ],
            "description": "Derniers statuts à jour."
          },
          "actes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Acte"
            },
            "description": "Actes déposés, du plus récent au plus ancien."
          },
          "liasses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Identifiant du PDF.",
                  "example": "6a1e90d5186449233a0ee7ee"
                },
                "cloture": {
                  "type": "string",
                  "description": "Clôture.",
                  "example": "2025-12-31"
                },
                "depot": {
                  "type": "string",
                  "description": "Dépôt.",
                  "example": "2026-05-11"
                },
                "type": {
                  "type": "string",
                  "description": "C (complet), S (simplifié), K (consolidé).",
                  "example": "K"
                },
                "confidentiel": {
                  "type": "string",
                  "description": "Public, Partiel ou Confidentiel.",
                  "example": "Public"
                }
              }
            },
            "description": "Comptes annuels déposés."
          }
        }
      },
      "Tva": {
        "type": "object",
        "properties": {
          "numero": {
            "type": "string",
            "description": "Numéro de TVA intracommunautaire.",
            "example": "FR63441639465"
          },
          "etat": {
            "type": "string",
            "description": "« actif » ou « non_valide » d'après VIES.",
            "example": "actif"
          }
        }
      },
      "Marches": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "total": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Marchés remportés.",
            "example": 1
          },
          "montant_total": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
            "example": 2000000
          },
          "acheteurs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "nom": {
                  "type": "string",
                  "description": "Acheteur.",
                  "example": "SEINE ET YVELINES NUMERIQUE"
                },
                "siret": {
                  "type": "string",
                  "description": "SIRET.",
                  "example": "20006224800014"
                },
                "nb": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Marchés.",
                  "example": 1
                },
                "montant": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
                  "example": 2000000
                }
              }
            }
          },
          "marches": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "objet": {
                  "type": "string",
                  "description": "Objet.",
                  "example": "Fourniture de services d'autopartage…"
                },
                "montant": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
                  "example": 2000000
                },
                "date_notification": {
                  "type": "string",
                  "description": "Notification.",
                  "example": "2023-02-15"
                },
                "duree_mois": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Durée.",
                  "example": "48"
                },
                "procedure": {
                  "type": "string",
                  "description": "Procédure.",
                  "example": "Appel d'offres ouvert"
                },
                "acheteur": {
                  "type": "object",
                  "properties": {
                    "nom": {
                      "type": "string"
                    },
                    "siret": {
                      "type": "string"
                    }
                  }
                },
                "lien": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Fiche du marché."
                }
              }
            }
          },
          "tronque": {
            "type": "boolean",
            "description": "true si la liste a été coupée."
          }
        }
      },
      "Accords": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "total": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Accords publiés.",
            "example": 0
          },
          "accords": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "titre": {
                  "type": "string",
                  "description": "Titre.",
                  "example": "Accord relatif au télétravail"
                },
                "reference": {
                  "type": "string",
                  "description": "Numéro de dépôt.",
                  "example": "T09225012345"
                },
                "siret": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Établissement signataire."
                },
                "date_signature": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Signature.",
                  "example": "2025-06-12"
                },
                "date_publication": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Publication.",
                  "example": "2025-07-03"
                },
                "date_effet": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Entrée en vigueur."
                },
                "date_fin": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Fin ; null si durée indéterminée."
                },
                "thematiques": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "syndicats": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Organisations signataires."
                },
                "lien": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Texte sur Légifrance."
                }
              }
            }
          }
        }
      },
      "Contentieux": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "total": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Décisions trouvées.",
            "example": 227
          },
          "en_defense": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Décisions où l'entreprise est défenderesse.",
            "example": 122
          },
          "en_demande": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Décisions où elle est demanderesse.",
            "example": 103
          },
          "decisions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "type": "string",
                  "description": "Date.",
                  "example": "2026-10-08"
                },
                "juridiction": {
                  "type": "string",
                  "description": "Juridiction.",
                  "example": "Cour d'appel de Douai"
                },
                "numero": {
                  "type": "string",
                  "description": "Numéro de RG.",
                  "example": "22/02854"
                },
                "nature": {
                  "type": "string",
                  "description": "Arrêt, jugement…",
                  "example": "Arrêt"
                },
                "role": {
                  "type": "string",
                  "description": "Rôle de l'entreprise.",
                  "example": "appelant"
                },
                "cote": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "demandeur",
                    "défendeur",
                    null
                  ],
                  "description": "Côté de l'entreprise.",
                  "example": "demandeur"
                },
                "confiance": {
                  "type": "string",
                  "enum": [
                    "certaine",
                    "probable",
                    "citee"
                  ],
                  "description": "certaine : SIREN cité dans la décision ; probable : nom et rôle reconnus ; citee : simplement mentionnée.",
                  "example": "probable"
                },
                "lien": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Décision sur le site de la Cour de cassation."
                }
              }
            },
            "description": "Les 50 plus récentes."
          },
          "ecartees": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Décisions où l'entreprise est seulement citée, non listées.",
            "example": 52
          },
          "tronque": {
            "type": "boolean"
          }
        }
      },
      "Sanctions": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "total": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Sanctions publiées.",
            "example": 0
          },
          "en_ligne": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Encore publiées par la DGCCRF.",
            "example": 0
          },
          "delais_paiement": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Dont sanctions pour retards de paiement.",
            "example": 0
          },
          "sanctions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "titre": {
                  "type": "string",
                  "description": "Intitulé de la décision.",
                  "example": "Amende administrative pour retards de paiement"
                },
                "nature": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Amende, injonction…",
                  "example": "Amende"
                },
                "montant": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
                  "example": 150000
                },
                "delais_paiement": {
                  "type": "boolean",
                  "description": "Sanction pour retards de paiement."
                },
                "themes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "autorite": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Autorité.",
                  "example": "DGCCRF"
                },
                "articles": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  },
                  "description": "Articles de loi visés."
                },
                "siret": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Établissement visé."
                },
                "date_publication": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Publication.",
                  "example": "2025-03-04"
                },
                "en_ligne": {
                  "type": "boolean",
                  "description": "Encore publiée par la DGCCRF."
                },
                "lien": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Publication."
                }
              }
            }
          }
        }
      },
      "FicheDirigeant": {
        "type": "object",
        "properties": {
          "cle": {
            "type": "string",
            "description": "Clé.",
            "example": "carlos_antunes_tavares_dias_1958-08"
          },
          "identite": {
            "type": "object",
            "properties": {
              "nom_affiche": {
                "type": "string",
                "description": "Nom.",
                "example": "Carlos Antunes Tavares Dias"
              },
              "naissance": {
                "type": "string",
                "description": "Mois de naissance.",
                "example": "1958-08"
              },
              "age": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Âge.",
                "example": 68
              }
            }
          },
          "societes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "siren": {
                  "type": "string",
                  "description": "SIREN.",
                  "example": "552100554"
                },
                "nom": {
                  "type": "string",
                  "description": "Société.",
                  "example": "PEUGEOT SA"
                },
                "qualite": {
                  "type": "string",
                  "description": "Fonction.",
                  "example": "Dirigeant"
                },
                "depuis": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "En fonction depuis.",
                  "example": "2017-09-26"
                },
                "ancien": {
                  "type": "boolean"
                },
                "etat": {
                  "type": "string",
                  "description": "État de la société.",
                  "example": "Cessée"
                },
                "ca": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro)."
                },
                "resultat": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "description": "Montant en euros ; null = non publié (à ne pas confondre avec zéro).",
                  "example": 1588300000
                },
                "exercice": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Année des montants.",
                  "example": "2019"
                }
              }
            },
            "description": "Mandats, actuels et passés."
          },
          "personnes_liees": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "nom": {
                  "type": "string",
                  "description": "Nom.",
                  "example": "Bpifrance Participations"
                },
                "personne_morale": {
                  "type": "boolean"
                },
                "siren": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "SIREN."
                },
                "cle": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "description": "Clé dirigeant."
                }
              }
            }
          },
          "graphe": {
            "$ref": "#/components/schemas/Graphe"
          }
        }
      },
      "Solvabilite": {
        "type": "object",
        "properties": {
          "siren": {
            "type": "string",
            "description": "SIREN.",
            "example": "441639465"
          },
          "nom": {
            "type": "string",
            "description": "Dénomination.",
            "example": "RENAULT"
          },
          "date": {
            "type": "string",
            "description": "Date du calcul.",
            "example": "2026-11-06"
          },
          "etat": {
            "type": [
              "string",
              "null"
            ],
            "description": "État de fait qui remplace la note : procédure en cours, radiée, cessée, liquidation close, siège fermé, aucune activité visible. null sinon."
          },
          "note": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Note sur 100 : 80 et plus pas élevé, 60 à 79 faible, 40 à 59 modéré, 20 à 39 assez élevé, moins de 20 élevé. null pour un état de fait.",
            "example": 81
          },
          "risque": {
            "type": [
              "string",
              "null"
            ],
            "description": "Niveau de risque de défaillance : Élevé, Assez élevé, Modéré, Faible, Pas élevé. null pour un état de fait (voir etat).",
            "example": "Pas élevé"
          },
          "probabilite_12m": {
            "type": [
              "number",
              "null"
            ],
            "description": "Probabilité d'entrée en procédure collective dans les douze mois (0 à 1).",
            "example": 0.00435
          },
          "confiance": {
            "type": [
              "string",
              "null"
            ],
            "description": "Haute, Moyenne ou Basse, selon la fraîcheur et la complétude des comptes.",
            "example": "Basse"
          },
          "vigilance": {
            "type": [
              "string",
              "null"
            ],
            "description": "normale, modérée, renforcée ou maximale. null pour un état de fait.",
            "example": "normale",
            "enum": [
              "normale",
              "modérée",
              "renforcée",
              "maximale",
              null
            ]
          },
          "encours_conseille_30j": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Encours de crédit conseillé sur 30 jours glissants, en euros.",
            "example": 200000
          },
          "marge_restante": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Encours conseillé moins l'encours fourni en paramètre ; null sans paramètre.",
            "example": 150000
          },
          "solidite_financiere": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Solidité financière sur 100, tirée des comptes ; null sans comptes exploitables.",
            "example": 56
          },
          "pese": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ce qui pèse sur la note.",
            "example": [
              "Résultat d'exploitation négatif au dernier exercice.",
              "Au moins une société liée cessée."
            ]
          },
          "rassure": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Ce qui rassure.",
            "example": [
              "Comptes déposés dans les délais, sans interruption."
            ]
          },
          "signaux": {
            "type": "object",
            "properties": {
              "procedure": {
                "type": "string",
                "description": "Procédure collective en cours.",
                "example": "Aucune"
              },
              "radiation": {
                "type": "boolean"
              },
              "societes_liees_en_procedure": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Sociétés liées en procédure.",
                "example": 0
              },
              "societes_liees_cessees": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Sociétés liées cessées.",
                "example": 3
              },
              "exercices_deposes_sur_3": {
                "type": [
                  "integer",
                  "null"
                ],
                "description": "Comptes déposés sur les trois derniers exercices.",
                "example": 3
              }
            },
            "description": "Signaux publics retenus."
          },
          "comptes": {
            "type": "object",
            "properties": {
              "clotures": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Exercices utilisés.",
                "example": [
                  "2025-12-31",
                  "2024-12-31",
                  "2023-12-31"
                ]
              },
              "perimetre": {
                "type": "string",
                "description": "Social ou Consolidé.",
                "example": "Consolidé"
              }
            }
          },
          "reserves": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Limites de cette évaluation (comptes consolidés, données anciennes…)."
          },
          "avertissement": {
            "type": "string",
            "description": "Mention à reprendre si vous affichez la note.",
            "example": "Aide à la décision : ne vaut pas décision de crédit et n'engage pas Acquy."
          }
        },
        "description": "Note de solvabilité Acquy. Toute entreprise est notée, comptes ou non."
      }
    },
    "responses": {
      "RequeteInvalide": {
        "description": "Paramètre invalide.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Erreur"
            },
            "example": {
              "erreur": "Le SIREN doit comporter 9 chiffres.",
              "code": "siren_invalide"
            }
          }
        }
      },
      "NonAutorise": {
        "description": "Clé absente ou invalide.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Erreur"
            },
            "example": {
              "erreur": "Clé d'API absente ou invalide.",
              "code": "non_autorise"
            }
          }
        }
      },
      "SoldeEpuise": {
        "description": "Solde de crédits insuffisant. La recherche reste gratuite.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Erreur"
            },
            "example": {
              "erreur": "Solde insuffisant : 20 crédits requis, 4 disponibles.",
              "code": "solde_epuise"
            }
          }
        }
      },
      "Introuvable": {
        "description": "Entreprise inconnue ou non diffusible.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Erreur"
            },
            "example": {
              "erreur": "Aucune entreprise pour ce SIREN.",
              "code": "introuvable"
            }
          }
        }
      },
      "TropDeRequetes": {
        "description": "Trop d'appels en peu de temps.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Erreur"
            },
            "example": {
              "erreur": "Limite de débit atteinte.",
              "code": "trop_de_requetes"
            }
          }
        },
        "headers": {
          "Retry-After": {
            "description": "Secondes à attendre.",
            "schema": {
              "type": "integer"
            }
          }
        }
      },
      "SourceIndisponible": {
        "description": "Une source publique ne répond pas.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Erreur"
            },
            "example": {
              "erreur": "Le registre ne répond pas.",
              "code": "source"
            }
          }
        }
      },
      "SourceSaturee": {
        "description": "Une source plafonne : réessayer après Retry-After.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Erreur"
            },
            "example": {
              "erreur": "Source momentanément saturée.",
              "code": "trop_de_requetes"
            }
          }
        },
        "headers": {
          "Retry-After": {
            "description": "Secondes à attendre.",
            "schema": {
              "type": "integer"
            }
          }
        }
      }
    }
  }
}