---
title: API Mirubiki : documentation de l'API publique
description: Endpoints de l'API Mirubiki : créer et lancer un sondage sur personas synthétiques, lire les résultats, conduire un focus group, avec une clé API.
---

# API Mirubiki

L'API REST de Mirubiki permet de créer, lancer et récupérer les résultats de sondages par IA de manière programmatique.

## Authentification

Tous les appels à l'API nécessitent une clé API transmise via le header `X-API-Key`.

```
curl -H "X-API-Key: mirubiki_votre_cle" https://www.mirubiki.com/api/v1/surveys

```

Les clés sont disponibles depuis votre [tableau de bord API](/api-keys) (plans Enterprise et Admin uniquement).

## Rate Limiting

| Plan | Limite | Fenêtre |
| --- | --- | --- |
| Enterprise | 100 requêtes | 1 minute glissante |
| Admin | 500 requêtes | 1 minute glissante |

En cas de dépassement, l'API retourne `429 Too Many Requests` avec un header `X-RateLimit-Reset` indiquant le nombre de secondes avant réinitialisation.

## Réponses

Toutes les réponses suivent le format :

```
{ "data": { ... }, "error": null } # Succès
{ "data": null, "error": "Message d'erreur" } # Erreur

```

## Endpoints

### Gestion des clés

GET `/api/v1/api-keys`

Liste les clés API de votre compte.

```
curl -H "X-API-Key: mirubiki_..." https://www.mirubiki.com/api/v1/api-keys

```

POST `/api/v1/api-keys`

Crée une nouvelle clé API.

```
curl -X POST -H "X-API-Key: mirubiki_..." \
-H "Content-Type: application/json" \
-d '{"nom": "Ma clé de production"}' \
https://www.mirubiki.com/api/v1/api-keys

```

DELETE `/api/v1/api-keys/{id}`

Révoque une clé API.

```
curl -X DELETE -H "X-API-Key: mirubiki_..." \
https://www.mirubiki.com/api/v1/api-keys/42

```

### Sondages

POST `/api/v1/surveys`

Crée un sondage (brouillon).

```
curl -X POST -H "X-API-Key: mirubiki_..." \
-H "Content-Type: application/json" \
-d '{
"titre": "Test produit",
"contexte": "Nous lançons un nouveau produit...",
"questions": [
{ "texte": "Acheteriez-vous ce produit ?", "type": "choix_unique", "options": ["Oui","Non","Peut-être"] },
{ "texte": "Quel prix seriez-vous prêt à payer ?", "type": "libre" }
],
"nb_personas": 50,
"filtres": { "age": ["25-34"], "sex": "F" }
}' \
https://www.mirubiki.com/api/v1/surveys

```

Voir les paramètres

| Paramètre | Type | Description |
| --- | --- | --- |
| `titre` | string | Titre du sondage |
| `contexte` | string | Contexte (optionnel) |
| `questions` | array | Liste des questions (texte + type + options) |
| `nb_personas` | int | Nombre de personas (1-100) |
| `filtres` | object | Filtres démographiques (optionnel) |

POST `/api/v1/surveys/{id}/launch`

Lance un sondage (brouillon → en cours).

```
curl -X POST -H "X-API-Key: mirubiki_..." \
https://www.mirubiki.com/api/v1/surveys/abc123/launch

```

GET `/api/v1/surveys/{id}/status`

Récupère le statut et la progression d'un sondage.

```
curl -H "X-API-Key: mirubiki_..." \
https://www.mirubiki.com/api/v1/surveys/abc123/status

```

GET `/api/v1/surveys/{id}/results`

Récupère les résultats d'un sondage terminé.

```
curl -H "X-API-Key: mirubiki_..." \
https://www.mirubiki.com/api/v1/surveys/abc123/results

```

GET `/api/v1/surveys`

Liste les sondages de votre compte (paginé).

```
curl -H "X-API-Key: mirubiki_..." \
"https://www.mirubiki.com/api/v1/surveys?limit=20&offset=0"

```

DELETE `/api/v1/surveys/{id}`

Supprime un sondage.

```
curl -X DELETE -H "X-API-Key: *** \
https://www.mirubiki.com/api/v1/surveys/abc123

```

### Focus Groups

Les Focus Groups sont des discussions de groupe avec 2 à 8 personas, modérées par IA. Chaque session se déroule en tours de questions-réponses.

POST `/api/v1/focus`

Crée un focus group. Les personas sont sélectionnés et filtrés automatiquement.

```
curl -X POST -H "X-API-Key: *** \
-H "Content-Type: application/json" \
-d '{
"titre": "Avis sur email assurance",
"guide": "Comparer deux propositions",
"nb_personas": 4,
"max_turns": 6,
"filtres": { "sexe": "F", "ages": ["25-40"] }
}' \
https://www.mirubiki.com/api/v1/focus

```

Voir les paramètres

| Paramètre | Type | Description |
| --- | --- | --- |
| `titre` | string | Titre de la session |
| `guide` | string | Guide modérateur / contexte (optionnel) |
| `nb_personas` | int | Nombre de personas (2-8, défaut: 6) |
| `max_turns` | int | Tours max (défaut: 6) |
| `filtres` | object | Filtres démographiques (optionnel): ages, sexe, densites, occupations |

GET `/api/v1/focus`

Liste les focus groups de votre compte (paginé).

```
curl -H "X-API-Key: *** \
"https://www.mirubiki.com/api/v1/focus?limit=20&offset=0"

```

GET `/api/v1/focus/{id}`

Détails d'une session focus group.

```
curl -H "X-API-Key: *** \
https://www.mirubiki.com/api/v1/focus/abc123

```

GET `/api/v1/focus/{id}/transcript`

Transcript texte de la discussion (vide tant qu'aucun tour n'a été exécuté).

```
curl -H "X-API-Key: *** \
https://www.mirubiki.com/api/v1/focus/abc123/transcript

```

DELETE `/api/v1/focus/{id}`

Supprime définitivement un focus group, ses personas et ses messages.

```
curl -X DELETE -H "X-API-Key: *** \
https://www.mirubiki.com/api/v1/focus/abc123

```

---

## Pour les agents et les intégrations

Les mêmes informations en documents machines :

- [llms.txt](/llms.txt) : la carte du site, écrite pour un agent.

- [Catalogue d'API](/.well-known/api-catalog) (RFC 9727) : pointe cette page, la spec OpenAPI et l'endpoint de statut.

- [Spec OpenAPI de l'API publique](/openapi-v1.json) : la seule surface publiée (les routes d'exploitation de la plateforme n'y figurent pas).

- [auth.md](/auth.md) : comment s'authentifier (clé `X-API-Key`), ce qui est refusé, où demander un accès.

- [/api/status](/api/status) : état du service en JSON.

Cette page est aussi servie en markdown, soit avec l'en-tête `Accept: text/markdown`, soit à l'adresse [/api-docs.md](/api-docs.md).

---

Dernière mise à jour : 14 octobre 2026
