{"openapi":"3.1.0","info":{"title":"Sirenic API","version":"1.0.0","description":"Official French company data, pay-per-call in USDC via the x402 protocol. Source: INSEE Sirene / INPI RNE via recherche-entreprises.api.gouv.fr (Etalab 2.0). Payment: x402, network eip155:8453, asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913.","contact":{"email":"contact@sirenic.eu"},"license":{"name":"Data: Licence Ouverte / Open License Etalab 2.0","url":"https://www.etalab.gouv.fr/licence-ouverte-open-licence/"}},"servers":[{"url":"https://api.sirenic.eu"}],"paths":{"/v1/recherche":{"get":{"summary":"Search French companies by name or SIREN (top 10)","description":"Search French companies by name or SIREN. Returns top 10 matches with identity, SIREN, NAF code, city and status. Source: INSEE Sirene / INPI RNE open data.","x-price":"$0.001","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":100},"example":"danone","description":"Company name or SIREN"}],"responses":{"200":{"description":"Top 10 matches with identity, SIREN, NAF, city, status."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}":{"get":{"summary":"Full company profile by SIREN","description":"Full French company profile by SIREN: legal name, legal form, head-office address, NAF code, workforce bracket, creation date, active/ceased status, officers (name, role), collective agreement, computed intra-EU VAT number.","x-price":"$0.005","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"},{"name":"geo","in":"query","required":false,"schema":{"type":"boolean"},"description":"true = include GPS coordinates (WGS84) of establishments"}],"responses":{"200":{"description":"Full profile: legal name, legal form, head office, NAF, workforce, officers, collective agreements, VAT number."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/etablissements":{"get":{"summary":"List establishments (SIRET) of a company","description":"List of all establishments (SIRET) of a French company with addresses and open/closed status.","x-price":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534"}],"responses":{"200":{"description":"Establishments with addresses and open/closed status."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/alertes":{"get":{"summary":"Legal alerts from BODACC (insolvency, deregistration, business sales)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534"}],"responses":{"200":{"description":"Announcements grouped by family (procedures collectives, radiations, ventes/cessions), most recent first, with judgment details."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/finances":{"get":{"summary":"Annual financial data from filed accounts (INPI / Banque de France ratios)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534"}],"responses":{"200":{"description":"Revenue, EBITDA, EBIT, net income and financial ratios per fiscal year (filed, non-confidential accounts only)."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/marches-publics":{"get":{"summary":"Public procurement contracts won (official DECP data)","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534"}],"responses":{"200":{"description":"Aggregates (count, total amount) plus the 100 most recent contracts with buyer identity resolved."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/eu/recherche":{"get":{"summary":"Search European companies across official registers (unified schema)","x-price":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","maxLength":100},"example":"equinor","description":"Company name"},{"name":"pays","in":"query","required":false,"schema":{"type":"string","pattern":"^[A-Za-z]{2}$"},"example":"NO","description":"Optional ISO-3166 alpha-2 country filter"}],"responses":{"200":{"description":"Top 10 matches with country, national ID, name, normalized status, city and source register (local registers + worldwide GLEIF)."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/eu/entreprise/{pays}/{id}":{"get":{"summary":"Unified European company profile","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"pays","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z]{2}$"},"example":"NO","description":"ISO-3166 alpha-2 country code (NO, EE, LV; BE/DK/GB when enabled)"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9.-]{1,20}$"},"example":"923609016","description":"National register identifier"}],"responses":{"200":{"description":"Same JSON schema for every country: identity, legal form, normalized status (+ source label), creation date, head office, VAT, LEI, official register link, data freshness."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/rapport/{siren}":{"get":{"summary":"On-demand PDF report (formatted KYB file, A4)","x-price":"$0.50","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"PDF document (application/pdf): identity, officers, BODACC alerts, financials, sanctions screening, completeness score, plus the AI health summary when one is cached.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid SIREN."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/documents":{"get":{"summary":"List official documents filed at the INPI RNE registry","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"Legal deeds (actes: statutes, general-meeting minutes...) and filed annual accounts (bilans), each with document ID, label, filing date. Only documents the registry marks as public. Use the ID with /v1/documents/{type}/{id} to download the PDF."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/documents/{type}/{id}":{"get":{"summary":"Download an official company document (PDF) from the INPI RNE registry","x-price":"$0.10","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string","enum":["actes","bilans"]},"description":"Document family from the list endpoint"},{"name":"id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-f0-9]{24}$"},"description":"Document ID from /v1/entreprise/{siren}/documents"}],"responses":{"200":{"description":"The official PDF as filed at the registry, served as-is at request time (typical size 1-10 MB). Sirenic stores no document.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Invalid type or document ID."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No public document for this ID (withdrawn or restricted by the registry)."}}}},"/v1/prospection":{"get":{"summary":"Multi-criteria prospecting over the full registry (100 active companies per paid page)","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"naf","in":"query","required":false,"schema":{"type":"string"},"example":"62.01Z","description":"NAF/APE code or prefix (62, 62.01, 62.01Z)"},{"name":"departement","in":"query","required":false,"schema":{"type":"string"},"example":"75","description":"French departement (75, 2A, 971…) — exclusive with code_postal"},{"name":"code_postal","in":"query","required":false,"schema":{"type":"string"},"description":"Postal-code prefix (2 to 5 digits)"},{"name":"forme_juridique","in":"query","required":false,"schema":{"type":"string"},"description":"INSEE legal-category prefix (e.g. 54, 5499)"},{"name":"effectif_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum workforce (mapped to INSEE brackets)"},{"name":"effectif_max","in":"query","required":false,"schema":{"type":"integer"}},{"name":"age_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum company age in years"},{"name":"age_max","in":"query","required":false,"schema":{"type":"integer"}},{"name":"rge","in":"query","required":false,"schema":{"type":"boolean"},"description":"true = active RGE certification"},{"name":"egapro_min","in":"query","required":false,"schema":{"type":"integer"},"description":"Minimum gender-equality index (0-100)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100},"description":"Page number — each page is one payment"}],"responses":{"200":{"description":"Up to 100 active companies (SIREN, name, NAF, legal form, workforce bracket, creation date, head-office postal code/city), stable SIREN order, page_suivante flag."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/entreprise/{siren}/sante":{"get":{"summary":"AI-generated business-health summary (French, official data only)","x-price":"$0.15","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"Structured summary generated by Claude from official data: resume, strengths, warning signs, activity trend, confidence level, missing data. Includes model, prompt version and cache status. Cached 7 days."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/score/defaillance/{siren}":{"get":{"summary":"Company default-risk score (transparent scorecard + BODACC override)","description":"Company default-risk score (0-100) for a French company at ~12 months: a transparent, documented scorecard from filed financial ratios (structure, profitability, liquidity, debt service, trend), company age, and a hard BODACC override (active insolvency proceedings / liquidation). Returns the score, a qualitative band, every scoring component with its threshold, and a confidence level. A decision-support indicator — NOT a solvency opinion or credit rating.","x-price":"$0.10","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"score_risque (0-100), classe/risque_12m (qualitative band), every scoring component with value+threshold+points, signaux_bodacc, exercice_reference, confiance, version_modele. Decision-support indicator, not a solvency opinion or credit rating (see docs/scoring.md)."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/secteur/{code_naf}/benchmarks":{"get":{"summary":"Sector benchmarks by NAF activity code (medians vs peers)","description":"Sector benchmarks for a French NAF activity code (any level: division, groupe, classe, sous-classe): number of active companies, median company age (with quartiles), workforce-bracket distribution, and — when at least 5 companies file public accounts — median revenue, EBITDA margin, pre-tax result and debt ratio. Lets an agent place a company against its peers. Aggregates only, no personal data; sectors with fewer than 5 companies are excluded.","x-price":"$0.05","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"code_naf","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{2}(\\.\\d{0,2}[A-Z]?)?$"},"example":"68.20B","description":"NAF code, any level: division (68), groupe (68.2), classe (68.20), sous-classe (68.20B)"}],"responses":{"200":{"description":"Number of active companies, median age (+quartiles), workforce distribution, and financial medians (masked when fewer than 5 companies file accounts)."},"400":{"description":"Invalid NAF code."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"Unknown NAF code, or sector excluded by k-anonymity (fewer than 5 companies)."}}}},"/v1/entreprise/{siren}/capital":{"get":{"summary":"Capital / ownership extracted by AI from public INPI articles of association","description":"Ownership / capital structure of a French company, extracted by AI from the latest PUBLIC articles of association filed at the INPI registry: share capital amount, legal form, shareholders (name, role, birth YEAR, ownership %), notable clauses, with a confidence level and the source document reference. Reconstructed from public filed deeds — NOT a beneficial-ownership register (RBE) and not a beneficial-owner identification. Immutable document: extracted once, cached.","x-price":"$0.25","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"capital {montant_capital_eur, forme_juridique, associes[name/role/birth-year/pct], clauses_notables, confiance} + document_source. Reconstructed from public filed deeds, NOT a beneficial-ownership register."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No public articles of association to extract for this SIREN."},"503":{"description":"Extraction temporarily unavailable (INPI or LLM); payment not settled."}}}},"/v1/entreprise/{siren}/comptes-pdf":{"get":{"summary":"Qualitative notes from filed annual accounts (annexe), extracted by AI","description":"Structured qualitative signals from a French company's filed annual accounts (the annexe), AI-extracted from the public INPI PDF: accounting-method types (closed list), average workforce, subsidiaries & participations, off-balance-sheet commitments as {type, amount} (caution, guarantee, pledge, lease, pension…), and this-year & post-closing events as closed EVENT TYPES (management change, litigation, acquisition, disposal, restructuring, financial distress…). Complements /finances (numeric ratios and line items). Public accounts only, fully structured (no free text) so no natural person is ever named. Immutable document: extracted once, cached.","x-price":"$0.15","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"annexe {exercice_cloture, methodes_comptables[] (closed method-type enum), faits_marquants_types[] (closed event-type enum), engagements_hors_bilan[{type (closed enum), montant_eur}], evenements_posterieurs_types[] (closed event-type enum), effectif_moyen, filiales_participations[{nom, pourcentage}], confiance} + document_source. Public accounts only, fully structured (no free text) so no natural person is ever named; complements /finances."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No public annual accounts to extract for this SIREN."},"503":{"description":"Extraction temporarily unavailable (INPI or LLM); payment not settled."}}}},"/v1/entreprise/{siren}/liens-capitalistiques":{"get":{"summary":"Single-level capital links between legal entities (public filings)","description":"Single-level capital links between a French company and other LEGAL ENTITIES, reconstructed from public filings: upstream holders (legal-entity shareholders named in the public articles of association) and downstream participations (subsidiaries listed in the accounts annexe). No natural person, no control threshold, no indirect chains — NOT a beneficial-ownership register. Composes the /capital and /comptes-pdf extractions (both permanently cached).","x-price":"$0.15","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"{siren, forme_juridique, detenteurs_pm[{nom, quote_part_pct}] (legal-entity holders from public articles), participations_pm[{nom, pourcentage}] (subsidiaries from accounts annexe), sources} + disclaimer. Legal entities only, single level — NOT a beneficial-ownership register; no natural person, no control threshold, no indirect chains."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No public articles or accounts to link for this SIREN."},"503":{"description":"Underlying extraction temporarily unavailable (INPI or LLM); payment not settled."}}}},"/v1/entreprise/{siren}/pi":{"get":{"summary":"Industrial-property portfolio (trademarks, patents, designs) from INPI open data","description":"Industrial-property portfolio of a French company from INPI open data: trademarks, patents and designs filed (counts + recent items with number, title/label, status, date, classification). An R&D / brand-value signal not served to agents elsewhere. Patent inventor names (natural persons) are never returned.","x-price":"$0.03","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"Counts and recent items for marques (trademarks: number, label, status), brevets (patents: publication number, title, date, CIB classification — no inventor names) and dessins_modeles (designs: number, object, date, Locarno class). A company with no IP returns zero counts (still 200)."},"400":{"description":"Invalid input (bad date, missing query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."}}}},"/v1/entreprise/{siren}/changements":{"get":{"summary":"New BODACC announcements since a date (poll-mode surveillance)","description":"New official BODACC gazette announcements published for a French company SINCE a given date (?depuis=YYYY-MM-DD): the poll endpoint for portfolio surveillance. Returns the new announcements (insolvency, deregistration, sales, filings, changes) in reverse-chronological order. Note: detects new BODACC publications, not field-level edits of the Sirene/RNE profile (the monthly stock keeps no history).","x-price":"$0.01","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"},{"name":"depuis","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"example":"2026-01-01","description":"List announcements published on or after this date (YYYY-MM-DD)"}],"responses":{"200":{"description":"New BODACC announcements since `depuis` (reverse-chronological, with famille and type), nombre/nombre_total, a truncation flag, and changements_fiche.disponible=false (the monthly stock keeps no history). A SIREN with no new announcement returns an empty list (still 200)."},"400":{"description":"Invalid input (bad date, missing query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."}}}},"/v1/dirigeant/recherche":{"get":{"summary":"Reverse director search by surname","description":"Reverse director search by surname (?nom=): lists the French companies where a person of that name holds (or held) an office, with the company SIREN, name and the person's role — for due diligence and network mapping. Person data is limited to surname, first names, role and birth YEAR (French GDPR/INPI rules). Results are indicative: homonyms are not disambiguated and very common names are capped.","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"nom","in":"query","required":true,"schema":{"type":"string","maxLength":100},"example":"Arnault","description":"Director surname"}],"responses":{"200":{"description":"Companies where a person of that surname holds an office: company SIREN, name, status, and the masked mandate(s) (surname, first names, role, birth YEAR only). Includes a homonym warning and a truncation flag for common names."},"400":{"description":"Invalid input (bad date, missing query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."}}}},"/v1/kyb/batch":{"get":{"summary":"Batch KYB: 2 to 100 French companies in one call","description":"Batch KYB: full KYB files for 2 to 100 French companies in one call (comma-separated `sirens`). Billed per company at $0.105 (30% off the $0.15 unit price); the amount is quoted from the number of SIREN. A SIREN with no diffusible company is returned as trouve=false and billed as one lookup. Built for prospecting and compliance agents working on lists.","x-price":"$0.105 per company (billed = unit price × number of SIREN; 30% off the unit KYB)","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"sirens","in":"query","required":true,"schema":{"type":"string","pattern":"^\\d{9}(,\\d{9}){1,99}$"},"example":"552032534,542065479","description":"2 to 100 comma-separated 9-digit SIRENs (Luhn-validated, deduplicated)"}],"responses":{"200":{"description":"One entry per requested SIREN: found companies carry the full KYB file with trouve=true; unknown SIRENs carry trouve=false and are billed as one lookup. Fields nombre_demande and nombre_trouve summarize the batch."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/kyb/{siren}":{"get":{"summary":"Complete KYB file for a French company (one call)","x-price":"$0.15","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"siren","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{9}$"},"example":"552032534","description":"9-digit SIREN (Luhn-validated)"}],"responses":{"200":{"description":"Identity, officers, BODACC legal alerts, filed financials, sanctions screening of the company and each officer (5 official lists), computed VAT number, completeness score with missing blocks."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/sanctions/check":{"get":{"summary":"Sanctions screening against the 5 official lists (UN, EU, OFAC, UK, FR)","x-price":"$0.02","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":100},"example":"Vladimir Putin","description":"Person or company name to screen"},{"name":"birth_year","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}$"},"description":"Optional birth year to refine person matches"}],"responses":{"200":{"description":"Matches with 0-100 confidence score and level (forte/possible/faible), matched alias, source list, regime, birth year, plus the inventory of loaded lists. Never a bare yes/no."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/v1/tva/verifier/{numero}":{"get":{"summary":"Validate an EU intra-community VAT number (VIES)","x-price":"$0.003","x-payment":{"protocol":"x402","network":"eip155:8453"},"parameters":[{"name":"numero","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Z]{2}[A-Za-z0-9+*]{2,12}$"},"example":"FR27552032534","description":"Full VAT number with country prefix, e.g. FR27552032534"}],"responses":{"200":{"description":"Status valide/invalide/indisponible with registered name and address when provided, plus the VIES consultation identifier."},"400":{"description":"Invalid input (SIREN failing Luhn check, bad query)."},"402":{"description":"Payment required — x402 payment requirements in body (JSON) and headers."},"404":{"description":"No diffusible company for this SIREN."}}}},"/preview/entreprise/55203253400646":{"get":{"summary":"Free sample of the full-profile response (no payment)","security":[],"responses":{"200":{"description":"Sample company profile."}}}},"/healthz":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"OK"}}}}}}