API v1

API FacturEvo pour développeurs

REST publique pour automatiser facturation Factur-X, lire vos comptes, déclencher des écritures, intégrer Zapier/n8n/scripts. OpenAPI 3.0, trois niveaux d'accès par clé, limite de débit, webhooks signés HMAC-SHA256.

Authentification

Générez une clé sur /settings/api-keys (rôle admin requis). Format : flab_live_xxxxxxxx_yyyyyyyy.

curl https://facturevo.fr/api/public/v1/invoices \
  -H "Authorization: Bearer flab_live_..."

Toutes les requêtes nécessitent ce header. Le niveau d'accès choisi à la création (lecture seule, lecture-écriture ou complet) détermine les droits de la clé (read:invoices, write:invoices, read:clients, etc.).

Lister les factures payées du mois

curl "https://facturevo.fr/api/public/v1/invoices?status=paid&from=2026-04-01&to=2026-04-30" \
  -H "Authorization: Bearer flab_live_..."

Réponse : { "data": [...], "limit": 50, "offset": 0, "count": 12 }

Créer un brouillon de facture

curl -X POST https://facturevo.fr/api/public/v1/invoices \
  -H "Authorization: Bearer flab_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "8f1c...uuid",
    "issue_date": "2026-04-30",
    "payment_terms": 30,
    "lines": [
      {
        "description": "Audit RGPD",
        "quantity": 5,
        "unit": "jour",
        "unit_price_ht": 800,
        "vat_rate": 20
      }
    ]
  }'

La facture est créée en status: draft. La numérotation officielle + génération PDF Factur-X EN16931 ne s'active qu'à l'envoi (UI ou POST /invoices/{id}/send).

Recevoir des événements (webhooks)

Configurez un endpoint HTTPS sur /settings/webhooks. Vous recevez un POST JSON signé HMAC-SHA256 dans le header X-FacturEvo-Signature: sha256=<hex64> à chaque événement abonné.

Vérification signature côté receveur :

// Node.js / Next.js
import { createHmac, timingSafeEqual } from "node:crypto";

function verify(rawBody: string, header: string, secret: string) {
  const expected =
    "sha256=" + createHmac("sha256", secret).update(rawBody).digest("hex");
  return timingSafeEqual(
    Buffer.from(expected, "utf8"),
    Buffer.from(header, "utf8"),
  );
}

Événements disponibles : invoice.created, invoice.sent, invoice.paid, invoice.overdue, invoice.credited, invoice.refunded, expense.posted, client.created.

Sécurité & rate limiting

  • • HTTPS obligatoire. URL de webhook refusée sinon.
  • • Trois niveaux d'accès par clé : lecture seule, lecture-écriture ou complet — donnez à chaque outil le minimum nécessaire.
  • • Auto-désactivation webhook après 10 échecs consécutifs (votre endpoint devient instable → on coupe pour éviter le DoS).
  • • Serveurs de l'API en France (Clever Cloud, Paris).

OpenAPI 3.0 spec

Spec machine-readable pour générer un SDK avec openapi-generator, importer dans Postman, ou explorer dans Swagger UI.

Besoin d'aide, un bug, une suggestion ? Écrivez-nous via le formulaire de contact : un humain vous répond (objectif de première réponse : 48 h ouvrées, 24 h en Pro).