API publique et serveur MCP
Interrogez ROAS, cohortes et revenus depuis un script, ou connectez Claude à vos données d’attribution. Une seule clé d’API scopée pour l’API REST et le MCP.
L’API publique de Traqio est une API REST versionnée (/v1) sur les mêmes rapports que la console : ROAS par campagne, ROAS quotidien, cohortes d’installation, revenus, données refusées et liens de tracking. Le serveur MCP de Traqio expose les mêmes opérations comme outils à Claude, Cursor ou tout client MCP. Les deux sont authentifiés par une seule clé d’API scopée.
Authentification
Créez une clé dans la console, sous Organisation → Clés d’API, cochez ses scopes et envoyez-la comme jeton « Bearer ». Les clés commencent par tq_live_ et ne sont affichées qu’une fois ; nous n’en gardons qu’un hash. Un jeton de session est refusé ici, et une clé d’API est refusée par la console.
curl -H "Authorization: Bearer $TRAQIO_API_KEY" \
"https://api.traqio.app/v1/reports/roas?appId=<appId>&from=2026-09-01&to=2026-10-01"La référence complète lisible par machine, sans authentification : https://api.traqio.app/v1/openapi.json
Permissions (scopes)
| Scope | Ce qu’il permet |
|---|---|
| reports:read | GET /v1/apps et toutes les routes GET /v1/reports, ainsi que les outils MCP correspondants. |
| reports:write | POST /v1/reports/sync-spend — déclencher une synchro ou un backfill des dépenses. |
| links:read | Lister les liens de tracking d’une app. |
| links:write | Créer des liens de tracking. |
Aucun scope n’en implique un autre, et une clé ne peut jamais faire plus que le rôle du membre qui l’a créée. Gérer les clés, les identifiants ou la facturation exige toujours une personne connectée — aucun scope ne l’accorde.
Routes
| Méthode | Chemin | Scope | Description |
|---|---|---|---|
| GET | /v1/apps | reports:read | Vos apps : id, nom, identifiants store. Jamais les clés SDK. (list_apps) |
| GET | /v1/reports/roas | reports:read | ROAS par campagne, ensemble de publicités ou publicité (level=). Dépense, revenu attribué, installations. (get_roas) |
| GET | /v1/reports/roas-daily | reports:read | Dépense, revenu et ROAS par jour. (get_roas_daily) |
| GET | /v1/reports/cohorts | reports:read | Cohortes par jour d’installation : installations, revenu J0, revenu total. (get_cohorts) |
| GET | /v1/reports/revenue | reports:read | Tout le revenu par devise, réparti en attribué, organique et non rapproché. (get_revenue) |
| GET | /v1/reports/rejections | reports:read | Ce que Traqio a refusé (plafond de débit, règles anti-fraude), par motif et par route. (get_rejections) |
| GET | /v1/reports/connectors | reports:read | Connecteurs de régies avec leur dernière synchro et leur dernière erreur. (get_connector_health) |
| POST | /v1/reports/sync-spend | reports:write | Récupère maintenant les dépenses d’un jour (date=) ou d’une plage (from=, to=). Sans risque si rappelé. (sync_spend) |
| GET | /v1/links | links:read | Les liens de tracking d’une app (appId=). (list_links) |
| POST | /v1/links | links:write | Crée un lien de tracking. Renvoie son URL courte. (create_tracking_link) |
Conventions
- Les dates sont au format AAAA-MM-JJ en UTC. from est inclus et to exclu : from=2026-09-01&to=2026-10-01 couvre septembre.
- Les routes de rapport prennent appId, from et to ; store=ios|android est optionnel. GET /v1/links prend appId.
- Le revenu n’est jamais additionné entre devises — chaque devise a sa propre ligne.
- Les erreurs sont en JSON avec un message : 400 entrée invalide, 401 clé absente, mal formée, révoquée ou expirée (ou jeton de session), 403 scope manquant ou app d’une autre organisation.
Serveur MCP
Le serveur MCP exécute les mêmes routes /v1 sous forme d’outils, avec la même clé et les mêmes scopes, et ne propose à une clé que les outils qu’elle peut appeler. traqio_status indique au modèle l’organisation et les scopes qu’il détient.
Claude Code
claude mcp add --transport http traqio https://api.traqio.app/mcp \
--header "Authorization: Bearer $TRAQIO_API_KEY"Cursor (.cursor/mcp.json)
{
"mcpServers": {
"traqio": {
"url": "https://api.traqio.app/mcp",
"headers": {
"Authorization": "Bearer tq_live_…"
}
}
}
}Claude Desktop (claude_desktop_config.json), via le pont mcp-remote
{
"mcpServers": {
"traqio": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.traqio.app/mcp",
"--header",
"Authorization:${TRAQIO_AUTH}"
],
"env": {
"TRAQIO_AUTH": "Bearer tq_live_…"
}
}
}
}Questions
- L’API est-elle incluse dans toutes les offres ?
- Oui. L’API et le serveur MCP ne dépendent pas de l’offre : chaque compte peut créer des clés.
- Une clé peut-elle créer d’autres clés ou modifier la facturation ?
- Non. Une clé lit les rapports et, avec les scopes d’écriture correspondants, déclenche une synchro des dépenses ou crée des liens de tracking. Tout ce qui relève de l’administration exige une personne connectée.
- Que se passe-t-il quand quelqu’un quitte l’équipe ?
- Une clé appartient à l’organisation, pas à la personne qui l’a créée : une intégration ne casse pas à son départ. Révoquez depuis la console les clés dont vous ne voulez plus — chacune affiche sa dernière utilisation, et une clé révoquée est refusée à l’appel suivant.
- Quels clients MCP fonctionnent ?
- Tout client qui parle le transport Streamable HTTP avec un en-tête personnalisé — Claude Code et Cursor nativement, Claude Desktop via mcp-remote.