# Accès à l'API Mirubiki pour les agents

## En résumé

- **Aucun OAuth, aucun OIDC.** Mirubiki n'expose pas de serveur d'autorisation
  (`/.well-known/oauth-authorization-server` et
  `/.well-known/oauth-protected-resource` ne sont pas publiés, volontairement)
  et n'accepte aucun enregistrement automatique de client.
- **API publique** : https://www.mirubiki.com/api/v1, authentification par une clé transmise
  dans l'en-tête `X-API-Key`.
- **Sans clé** : `401`. Aucun appel ne passe en anonyme.
- **Le reste du site est public en lecture** : les pages en HTML et leur
  variante markdown, `/llms.txt`, le blog, la documentation de l'API. Rien à
  demander pour lire.

## Obtenir une clé

Une clé appartient à un compte Mirubiki (formules Enterprise et Admin) :

1. se connecter, puis ouvrir https://www.mirubiki.com/api-keys pour créer ou révoquer une clé ;
2. sans compte : nous écrire depuis https://www.mirubiki.com/mentions-legales. L'accès à l'API
   s'obtient avec un abonnement ; il n'y a pas d'inscription automatique.

**Un agent ne crée pas de compte** : c'est son utilisateur qui fournit la clé,
et qui reste responsable de son usage.

## Ce que l'API accepte

- créer un sondage, le lancer, suivre son statut, récupérer ses résultats ;
- créer et conduire un focus group (2 à 8 profils) et lire son transcript ;
- lister ses sondages, ses sessions de focus et ses clés API ;
- pour un compte Enterprise : lister, ajouter, retirer les membres de son
  organisation et changer leur rôle.

## Ce que l'API refuse

- toute opération d'exploitation de la plateforme (comptes, statistiques
  internes, journaux de modèles, liste d'attente) : ces routes ne sont pas
  publiées et ne figurent dans aucune spec exposée ;
- l'accès aux sondages d'un autre compte ;
- les requêtes sans clé valide, ou avec une clé révoquée.

## Limites

- Débit : 100 requêtes par minute pour un compte Enterprise, 500 requêtes par minute pour un compte Admin (fenêtre glissante d'une minute) ; au-delà, l'API répond `429`, avec l'en-tête `X-RateLimit-Reset` (secondes
  avant réinitialisation).
- Format des réponses : `{"data": ..., "error": null}` en succès,
  `{"data": null, "error": "..."}` en erreur.

## Documents liés

- Documentation et exemples : https://www.mirubiki.com/api-docs
- Spec OpenAPI (API publique uniquement) : https://www.mirubiki.com/openapi-v1.json
- Catalogue d'API : https://www.mirubiki.com/.well-known/api-catalog
- Carte du site pour les agents : https://www.mirubiki.com/llms.txt
