---
title: "Lister les factures récurrentes"
method: GET
path: "/recurring-invoices"
tags: ["RecurringInvoices"]
---

# Lister les factures récurrentes

`GET /recurring-invoices`

## Request

- Base URL: `https://api.swipify.fr/api/v1`
- URL: `https://api.swipify.fr/api/v1/recurring-invoices`
- Auth: API key in header `X-API-Key`

Récurrences de facturation de l'organisation (abonnements, loyers, contrats d'entretien), paginées, par prochaine échéance. Lecture seule : créer, suspendre ou replanifier une récurrence reste un geste dans l'application. Scope requis : `invoices:read`.

## Query parameters

- `page` integer
- `pageSize` integer
- `status` 'active' | 'paused' | 'finished'
- `sortOrder` 'asc' | 'desc'

## Response `200`

Liste paginée de factures récurrentes

- object
  - `data` RecurringInvoice[]
    - `id` integer
    - `title` string: Libellé de gestion, jamais imprimé sur la facture
    - `frequency` 'weekly' | 'monthly' | 'quarterly' | 'yearly'
    - `anchorDay` integer, nullable: Jour du mois d'ancrage (1 à 31), borné à la fin du mois réel
    - `status` 'active' | 'paused' | 'finished'
    - `autoSend` boolean: true : chaque échéance est émise et envoyée au client sans intervention
    - `nextRunAt` string, date-time: Prochaine échéance
    - `endDate` string, date-time, nullable
    - `maxOccurrences` integer, nullable
    - `occurrencesCount` integer: Échéances déjà émises
    - `object` string, nullable: Objet de chaque facture (les repères de période y sont remplacés à l'émission)
    - `totalHT` union: Montants de chaque échéance
      - number
      - string
    - `totalVAT` union
      - number
      - string
    - `totalTTC` union
      - number
      - string
    - `customer` DocumentParty, nullable: Client (destinataire), forme allégée.
      - `id` integer
      - `name` string, nullable
    - `pendingInvoiceId` integer, nullable
    - `createdFromInvoiceId` integer, nullable: Facture d'origine dont le contenu a été copié
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `pagination` Pagination
    - `page` integer
    - `pageSize` integer
    - `totalCount` integer
    - `totalPages` integer: Nombre total de pages (ceil(totalCount / pageSize)).
    - `hasMore` boolean: true s'il existe une page suivante (page < totalPages).

## Other responses

- `401`: Échec d'authentification : clé API manquante (`missing_api_key`) ou invalide/révoquée/expirée (`invalid_api_key`). Le client doit présenter une clé valide.
- `403`: Clé authentifiée mais non autorisée : scope insuffisant pour cette route (`scope_required`), ou organisation sans abonnement Pro actif (`pro_required`). `GET /me` reste accessible sans Pro pour diagnostiquer la clé.
- `429`: Trop de requêtes (quota de la clé API, ou de l'organisation pour les analyses de document, dépassé pour la fenêtre courante)

---

[API](https://skmtc.dev/swipify/apis/swipify-api-publique.md) · [All operations](https://skmtc.dev/swipify/apis/swipify-api-publique/llms.txt) · [OpenAPI document](https://skmtc.dev/swipify/apis/swipify-api-publique/revisions/44c17201b479?raw)
