Docs / Clés API et limites de débit

Clés API et limites de débit

aqoon utilise des clés API pour authentifier l'accès programmatique à l'API de recherche, au serveur MCP et aux autres points d'accès développeur. Les clés sont préfixées par aqn_ suivi de 40 caractères aléatoires et sont stockées côté serveur sous forme de hachages SHA-256 — le texte en clair n'est affiché qu'une seule fois lors de la création.

Pour créer et gérer vos clés depuis l'interface, consultez le Guide utilisateur.

Types de clés

Il existe deux types de clés avec des portées d'accès différentes :

Type Portée d'accès Usage courant
Accès complet Toutes les collections possédées par ou souscrites par le propriétaire de la clé Intégration MCP personnelle, scripts d'automatisation, outils internes
Limité Uniquement les collections explicitement autorisées pour la clé Partage de l'accès à la recherche avec des développeurs ou applications tiers

Scoped keys are the safer default when distributing access. Grant access to specific collections via the key management UI or the /api/v1/keys/{uuid}/collections/ endpoint.

Niveau de permission

Chaque autorisation d'accès à une collection sur une clé à portée limitée porte un niveau de permission qui contrôle ce que le détenteur de la clé peut faire avec cette collection :

Permission Toutes les collections
read Organisez vos documents en collections
write Créez, organisez et gérez vos collections de documents

La permission par défaut pour un nouvel accès est read. Passez "permission": "write" lors de l'octroi de l'accès si le détenteur de la clé doit télécharger des documents.

Les clés d'accès complet ont une permission d'écriture implicite sur toutes les collections appartenant au propriétaire de la clé — aucune autorisation séparée n'est requise.

Accorder / Révoquer l'accès à une collection

Utilisez le point d'accès /api/v1/keys/{uuid}/collections/ pour gérer quelles collections une clé à portée limitée peut atteindre, et à quel niveau de permission.

Accorder l'accès à une collection

POST /api/v1/keys/{uuid}/collections/
Authorization: Bearer aqn_your_api_key
Content-Type: application/json

{
  "collection_id": "collection-uuid",
  "permission": "write"
}

Omettre permission Votre mot de passe "read") pour accorder un accès en lecture seule. Passez "write" Total des documents téléchargés dans toutes les collections

Accès aux collections

DELETE /api/v1/keys/{uuid}/collections/{collection_id}/
Authorization: Bearer aqn_your_api_key

La rotation de clé (génération d'un nouveau secret pour un enregistrement de clé existant) préserve toutes les autorisations de collection et leurs niveaux de permission. Le nouveau secret est un remplacement direct — aucune ré-autorisation n'est requise.

La permission d'écriture est requise pour utiliser l'API de téléchargement de documents (POST /api/v1/collections/{id}/documents/). Les requêtes d'une clé avec uniquement un accès en lecture seront rejetées avec HTTP 403.

Expiration des clés

Les clés peuvent être créées avec une date d'expiration (30 jours, 90 jours, 6 mois ou 1 an) ou configurées pour ne jamais expirer. Vous pouvez modifier l'expiration à tout moment depuis la page de détail de la clé.

Les clés expirées sont automatiquement rejetées avec une erreur 401. Pour renouveler une clé, définissez une nouvelle expiration depuis la page de détail. Aucune nouvelle clé n'est nécessaire.

Point d'accès de recherche

Le point d'accès de recherche développeur accepte un jeton Bearer et renvoie des fragments de résultats classés provenant de toutes les collections accessibles à la clé :

POST /api/v1/search/
Authorization: Bearer aqn_your_api_key
Content-Type: application/json

{
  "query": "your search query",
  "limit": 5,
  "collection_id": "optional-uuid-to-scope-to-one-collection"
}

Exemple avec curl :

curl -X POST https://your-instance/api/v1/search/ \
  -H "Authorization: Bearer aqn_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"query": "retrieval augmented generation", "limit": 10}'

Consultez la Référence API pour les schémas complets de requête/réponse, les options de filtrage et les codes d'erreur. Utilisez le Playground de recherche pour tester de manière interactive.

Limitation de débit

Chaque clé API se voit attribuer un niveau de débit qui contrôle le nombre de requêtes autorisées sur trois fenêtres temporelles :

Niveau Par minute Par jour Par mois
Gratuit (par défaut) 10 1,000 10,000
Basic 60 10,000 100,000
Pro 300 100,000 1,000,000

Les niveaux de débit sont gérés par l'administrateur de votre compte. Les limites sont appliquées par compte — toutes les clés API d'un même utilisateur partagent un seul jeu de compteurs. Chaque réponse API inclut les en-têtes suivants pour que votre application puisse suivre les limites de manière programmatique :

En-tête Description
X-RateLimit-Limit Nombre maximum de requêtes autorisées dans la fenêtre en cours
X-RateLimit-Remaining Requêtes restantes dans la fenêtre en cours
Retry-After Secondes à attendre avant de réessayer (présent uniquement sur les réponses 429)

Lorsqu'une limite est dépassée, l'API renvoie HTTP 429 Too Many Requests. Votre client doit respecter Retry-After et implémenter un backoff exponentiel pour la résilience.

Tableau de bord d'utilisation

Le tableau de bord d'utilisation est accessible dans la barre latérale sous Utilisation de l'API. Il fournit :

  • Métriques de synthèse — Total des requêtes, nombre d'erreurs et temps de réponse moyen pour la période sélectionnée
  • Graphique de volume quotidien — Requêtes et erreurs tracées sur 7, 30 ou 90 jours
  • Détail par clé — Nombre de requêtes et taux d'erreurs par clé API
  • Journal des requêtes récentes — Texte de la requête, nombre de résultats, temps de réponse et statut HTTP pour chaque requête

Notifications webhook

Configurez une URL webhook pour recevoir des notifications lorsque les documents terminent leur traitement. Au lieu d'interroger le statut, aqoon enverra un payload JSON signé à votre URL lorsqu'un document est indexé ou en échec.

  • Un webhook par organisation — configuré via POST /api/v1/webhooks/
  • Signé HMAC-SHA256 — vérifiez l'authenticité avec le secret retourné à la création
  • Tentatives automatiques — recul exponentiel sur les erreurs serveur (max 5 tentatives)
  • Point d'accès de test — envoyez un événement de test via POST /api/v1/webhooks/test/

Consultez la Référence API — Webhooks pour le format complet du payload, la vérification de la signature et des exemples.

Facturation et tarifs

Le volume de requêtes API est mesuré par rapport à votre quota mensuel. Trois plans sont disponibles :

Plan Prix Requêtes incluses/mois Tarif de dépassement
Gratuit $0/mois 1,000
Starter $29/mois 10,000 $0.002 par requête
Pro $99/mois 100,000 $0.001 par requête

La facturation est gérée via Stripe. Les factures sont générées automatiquement à la fin de chaque cycle de facturation en fonction des données d'utilisation réelles. Les frais de dépassement ne sont appliqués que lorsque vous dépassez le quota inclus dans votre plan.