Sirenic Facturation API

The Facturation API from Sirenic — 1 operation(s) for facturation.

Operations 1

GET /v1/facturation/dossier Verify a supplier before payment — France (e-invoicing mandate, 1 September… #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sirenic-eu:sirenic-eu-facturation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sirenic-eu-facturation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Sirenic Facturation API
  version: 1.0.0
  description: 'French & European company data, pay-per-call in USDC or EURC — EURC at numeric parity: the same figure as the USDC price, not FX-converted (at the ECB rate of 4 Sept 2026, about 16 % more in dollar terms) via the x402 protocol — or with an API key and prepaid credits (1 credit = 1 EUR, same per-call prices, no wallet).'
  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
security:
- {}
- ApiKeyAuth: []
- BearerAuth: []
tags:
- name: Facturation
paths:
  /v1/facturation/dossier:
    get:
      summary: Verify a supplier before payment — France (e-invoicing mandate, 1 September…
      description: 'Invoice verification and supplier verification — verify supplier before payment in France, the invoicing pack of the e-invoicing mandate France September 2026 (all VAT-liable companies must receive): legal identity, obligation dates, intra-EU VAT number checked LIVE against VIES, IBAN form + key check, bank identified, deterministic pret_a_facturer verdict, closed-list reasons. Not a payee verification: no holder name, no account existence check. A VIES outage never yields a false invalid.'
      x-price: $0.03
      x-payment:
        protocol: x402
        network: eip155:8453
      parameters:
      - name: siren
        in: query
        required: true
        schema:
          type: string
          pattern: ^\d{9}$
        example: '552032534'
        description: 9-digit SIREN of the invoice recipient
      - name: iban
        in: query
        required: false
        schema:
          type: string
          maxLength: 40
        description: Optional supplier IBAN — form check (structure + key) and bank identification before the first payment
      responses:
        '200':
          description: 'destinataire (full e-invoicing preparation), tva_vies (computed number + live VIES status), banque (IBAN form check + bank identification when iban is provided) and verdict {pret_a_facturer, non_verifie[], raisons[]} — closed-list reasons, each with its level (bloquante/information) and source. When an iban is supplied, verdict.non_verifie travels NEXT TO the green light and names what the bank leg never checks: account existence, holder name. Also carries provenance[]: one entry per block served, naming the official register, its licence and its as_of date — inside the Ed25519-signed bytes, so the answer is auditable offline.'
          content:
            application/json:
              example:
                siren: '552032534'
                destinataire:
                  destinataire:
                    denomination: DANONE
                    etat_administratif: actif
                tva_vies:
                  numero: FR27552032534
                  statut: valide
                banque:
                  iban_normalise: FR1420041010050500013M02606
                  valide: true
                  exemple_de_documentation: true
                  banque:
                    nom: La Banque Postale
                    bic: PSSTFRPPXXX
                  verification_titulaire: non_disponible
                verdict:
                  pret_a_facturer: true
                  non_verifie:
                  - existence_du_compte
                  - nom_du_titulaire
                  raisons:
                  - code: iban_exemple_documentation
                    niveau: information
                    source: IBAN publié comme EXEMPLE de documentation — bien formé ; existence du compte non contrôlée.
                source: 'Composition Sirenic : préparation e-facturation (INSEE Sirene), VIES (Commission européenne, live), contrôle de forme IBAN + registres bancaires officiels'
                disclaimer: 'Aide à la décision déterministe (raisons en liste fermée, tracées à leur source) — ni un avis de conformité fiscale, ni une Verification of Payee : le volet bancaire contrôle la FORME et identifie la banque, sans vérifier l''existence du compte ni le nom du titulaire ; la TVA (VIES) et l''état Sirene, eux, sont vérifiés en direct. / Deterministic decision support — neither tax-compliance advice nor a Verification of Payee: the bank leg checks FORM (structure + key digits) and identifies the bank, without checking the account''s existence or the holder''s name; the VAT (VIES) and the Sirene registry status are checked live.'
        '400':
          $ref: '#/components/responses/Reponse400InvalidInput'
        '402':
          $ref: '#/components/responses/Reponse402PaymentRequired'
        '404':
          description: No diffusible company for this SIREN.
      tags:
      - Facturation
      operationId: getV1FacturationDossier
      x-operation-id-source: derived
components:
  responses:
    Reponse402PaymentRequired:
      description: Payment required — x402 payment requirements in body (JSON) and headers.
    Reponse400InvalidInput:
      description: 'Invalid input. Body: {error, champ, message}. Never charged. / Jamais facturé.'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-Api-Key
      description: 'Sirenic API key (srn_live_…) paying with prepaid credits (1 credit = 1 EUR, same prices as x402). Credits expire 12 months after purchase; calls are charged first to the credits closest to expiry. Optional: without it, the same routes answer 402 with a signable x402 quote. Insufficient balance → 402 {error: credits_insuffisants} WITHOUT a PAYMENT-REQUIRED header. Get a key at /compte.'
    BearerAuth:
      type: http
      scheme: bearer
      description: 'The same srn_live_… API key sent as Authorization: Bearer. A bearer value that is not an srn_ key is ignored (x402 flow unchanged).'