> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getqr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction à l'API

> Gérez vos QR codes, modèles, statistiques et rapports depuis votre propre code.

> [!NOTE]
>
> L'API GetQR est en version bêta et réservée à certains espaces de travail. Certains détails peuvent changer avant la disponibilité générale.

L'API GetQR est une API REST pour ce que vous faites dans le tableau de bord : créer et modifier des QR codes, télécharger leurs images, lire les statistiques de scans et exporter des rapports. Authentifiez-vous avec la clé API de votre compte et appelez les endpoints versionnés sous `/api/v1`.

## Ce que vous pouvez faire

> [card] [QR codes](https://docs.getqr.com/fr/api/endpoints/qr-codes.md)
>
> Créez, listez, modifiez, mettez en pause, dupliquez, supprimez et téléchargez des QR codes.

> [card] [Statistiques](https://docs.getqr.com/fr/api/endpoints/analytics.md)
>
> Totaux et répartitions des scans pour un QR code ou pour tout l'espace de travail.

> [card] [Rapports](https://docs.getqr.com/fr/api/endpoints/reports.md)
>
> Exportez un rapport ponctuel ou programmez l'envoi régulier de rapports par e-mail.

> [card] [Modèles](https://docs.getqr.com/fr/api/endpoints/templates.md)
>
> Enregistrez des designs et appliquez-les à de nouveaux QR codes.

> [card] [Créations en masse](https://docs.getqr.com/fr/api/endpoints/bulk-qr-creations.md)
>
> Créez jusqu'à 100 QR codes à la fois à partir de JSON ou d'un fichier CSV.

> [card] [Fichiers](https://docs.getqr.com/fr/api/endpoints/files.md)
>
> Importez des PDF, des images, des vidéos et des logos pour vos QR codes.

> [card] [État de l'API](https://docs.getqr.com/fr/api/endpoints/health.md)
>
> Vérifiez que l'API fonctionne. Aucune clé API nécessaire.

## Guides

> [card] [Types de QR codes](https://docs.getqr.com/fr/api/guides/qr-types.md)
>
> Le format des données pour chacun des 16 types de QR codes.

> [card] [Personnalisation](https://docs.getqr.com/fr/api/guides/customization.md)
>
> Styles de points, coins, couleurs, cadres et logos.

> [card] [Règles d'accès](https://docs.getqr.com/fr/api/guides/access-rules.md)
>
> Programmation, limites de scans, mots de passe, mise en pause et suppression.

## URL de base

Tous les endpoints se trouvent sous une même URL de base :

```text theme={null}
https://getqr.com/api/v1
```

## Versionnement

La version de l'API fait partie du chemin : tous les endpoints se trouvent sous `/api/v1/`.

* Les changements incompatibles sortent sous un nouveau préfixe de version, par exemple `/api/v2/`, et `/api/v1/` continue de fonctionner.
* Des ajouts compatibles, comme de nouveaux champs facultatifs ou de nouveaux endpoints, peuvent apparaître dans la v1. Ignorez les champs de réponse que votre code ne connaît pas.

## Démarrage rapide

**1. Obtenez votre clé API**

Générez ou affichez votre clé dans les paramètres de votre compte. Consultez [Authentification](https://docs.getqr.com/fr/api/authentication.md).

**2. Vérifiez que l'API est joignable**

```bash theme={null}
curl https://getqr.com/api/v1/health
```

La réponse est `{ "status": "ok", "version": "v1" }`.

**3. Créez votre premier QR code**

```bash theme={null}
curl -X POST "https://getqr.com/api/v1/qrs" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: first-qr-0001" \
  -d '{
    "qrType": "website",
    "data": "https://example.com",
    "title": "Landing page"
  }'
```

L'API répond `201` avec le nouveau QR code, dont son `id` et son `shortLink`.

**4. Téléchargez l'image**

```bash theme={null}
curl "https://getqr.com/api/v1/qrs/{qrId}/download?format=png&resolution=1024" \
  -H "Authorization: Bearer $GETQR_API_KEY" \
  --output qr-code.png
```

## Requêtes et réponses

* **Format.** Envoyez les corps de requête en JSON avec `Content-Type: application/json`. Seule exception : l'import CSV de la [création en masse](https://docs.getqr.com/fr/api/endpoints/bulk-qr-creations.md), qui utilise `multipart/form-data`.
* **Réponses.** Les réponses sont en JSON. Les téléchargements, comme les images de QR codes et les archives ZIP de création en masse, renvoient le fichier lui-même.
* **Dates.** Les dates sont des chaînes ISO 8601 en UTC, par exemple `2026-08-01T10:00:00.000Z`.
* **Paramètres de requête.** Les paramètres booléens prennent les chaînes `true` ou `false`.
* **Mises à jour partielles.** Les endpoints `PATCH` ne modifient que les champs que vous envoyez.
* **Secrets.** Les réponses n'incluent jamais de mots de passe ni d'identifiants internes. Un QR code protégé par mot de passe indique seulement `passwordProtected: true`.
* **Espace de travail.** Chaque requête s'exécute dans l'espace de travail auquel appartient votre clé API. Vous ne transmettez pas d'identifiant d'espace de travail. Consultez [Accès et rôles](https://docs.getqr.com/fr/api/authentication.md#accès-et-rôles).
* **Erreurs.** Les requêtes en échec renvoient un objet `error` avec un `code` stable. Consultez [Erreurs](https://docs.getqr.com/fr/api/errors.md).

## Pagination

Les endpoints de liste (QR codes, modèles et rapports programmés) acceptent deux paramètres de requête :

| Paramètre | Description |
| - | - |
| `page` | Page à renvoyer. Par défaut `1`. |
| `pageSize` | Résultats par page, jusqu'à `100`. Par défaut `100`. |

Ils répondent avec un tableau `data` et un objet `pagination` :

```json theme={null}
{
  "data": [ … ],
  "pagination": { "page": 1, "pageSize": 50, "total": 128, "hasMore": true }
}
```

| Champ | Description |
| - | - |
| `page` | La page reçue. |
| `pageSize` | La taille de page reçue. |
| `total` | Nombre de résultats sur toutes les pages. |
| `hasMore` | `true` tant qu'une autre page attend. |

Demandez la page suivante tant que `hasMore` vaut `true`. Un `pageSize` supérieur à `100` renvoie [`422`](https://docs.getqr.com/fr/api/errors#erreurs-de-validation).

## Idempotence

Après une erreur réseau, vous ne savez pas toujours si une requête a abouti. Pour relancer [Créer un QR code](https://docs.getqr.com/fr/api/endpoints/qr-codes.md#créer-un-qr-code) sans risque, envoyez un en-tête `Idempotency-Key` avec une valeur unique de votre choix :

```bash theme={null}
-H "Idempotency-Key: order-4821-qr"
```

* Répéter la requête avec la même clé dans les 24 heures renvoie la réponse d'origine au lieu de créer un second QR code.
* L'en-tête de réponse `x-idempotent-replay` vaut `true` pour une réponse rejouée et `false` pour une nouvelle.
* Si la première requête avec cette clé est encore en cours, l'API répond `409 conflict`. Réessayez une fois qu'elle est terminée.
* Réutiliser une clé avec un autre corps de requête renvoie `422 unprocessable_entity`.
* Sans cet en-tête, un corps de requête identique envoyé dans les 30 secondes est traité comme un doublon.

Les créations en masse acceptent plutôt un champ `idempotencyKey` dans le corps de la requête. Consultez [Créations en masse](https://docs.getqr.com/fr/api/endpoints/bulk-qr-creations.md).

## Limites de débit

Chaque clé API peut envoyer jusqu'à 600 requêtes par minute. Consultez [Limites de débit](https://docs.getqr.com/fr/api/rate-limits.md).

## Prochainement

Des packs prêts à imprimer sont prévus dans une prochaine version.

## Et ensuite

> [card] [Authentification](https://docs.getqr.com/fr/api/authentication.md)

> [card] [QR codes](https://docs.getqr.com/fr/api/endpoints/qr-codes.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.