Documentation API

Accédez à l'intelligence composite Phano depuis vos scripts, outils et agents IA.

Démarrage rapide

1. Obtenez votre clé API

Créez une clé dans Paramètres > Clés API.

2. Faites votre premier appel

curl -H "Authorization: Bearer <votre-cle-api>" \
  https://phano.ai/api/v1/portfolio/summary

3. Explorez les endpoints

/v1/portfolio/summary/v1/portfolio/risks/v1/accounts/v1/accounts/{id}/intelligence/v1/signals/v1/status
Authentification

Ajoutez votre clé API dans le header Authorization :

Authorization: Bearer pk_live_xxxx

La clé est affichée une seule fois à la création. En cas de perte, créez-en une nouvelle et révoquez l'ancienne.

Scopes (permissions)
ScopeDescriptionEndpoints
read:portfolioRésumé et risques du portefeuille/v1/portfolio/summary, /v1/portfolio/risks
read:accountsListe et intelligence des comptes/v1/accounts, /v1/accounts/{id}/intelligence
read:signalsSignaux et alertes/v1/signals
read:stakeholdersDémasque les noms des contactsToute réponse contenant des stakeholders
read:allAccès completTous les endpoints + /v1/status
Exemples

Python

import requests

headers = {"Authorization": "Bearer <votre-cle-api>"}
r = requests.get("https://phano.ai/api/v1/portfolio/risks", headers=headers)
risks = r.json()["data"]

for risk in risks:
    print(f"{risk['account']['name']} — {risk['situation']['severity_display']}")

JavaScript

const res = await fetch("https://phano.ai/api/v1/portfolio/risks", {
  headers: { Authorization: "Bearer <votre-cle-api>" }
});
const { data: risks } = await res.json();
risks.forEach(r => console.log(r.account.name, r.situation.severity_display));
Pagination

Les endpoints retournant des listes utilisent la pagination cursor-based. Paramètres : limit (défaut 20, max 100) et cursor (opaque).

# Page 1
GET /v1/signals?limit=10

# Page 2 (utilisez next_cursor de la réponse précédente)
GET /v1/signals?limit=10&cursor=eyJkYSI6IjIwMjYt...

Quand next_cursor est null, c'est la dernière page.

Exemples d'intégrations

L'API Phano est un endpoint HTTP standard. Tout outil ou script capable de faire une requête HTTP peut l'utiliser :

  • Automatisations no-code : Zapier, Make, n8n — action webhook HTTP avec header Authorization
  • Scripts : Python (requests), Node.js (fetch), Go, Ruby — exemples dans la section ci-dessus
  • Tableurs : Google Sheets (Apps Script), Excel (Power Query) — appel HTTP programmé
  • Agents IA : tout client compatible MCP, ou appel direct à l'API REST

Exemples de scénarios :

  • Signal critique → notification dans votre outil de communication (poll /v1/signals?severity=critical)
  • Résumé portfolio quotidien → export vers votre tableur ou base de données
Erreurs
CodeHTTPDescription
unauthorized401Clé API invalide, révoquée ou expirée
forbidden403Scope insuffisant pour cet endpoint
validation_error400Paramètre invalide (format, valeur)
not_found404Ressource introuvable
rate_limit_exceeded429Limite de requêtes dépassée
internal_error500Erreur serveur
MCP (Model Context Protocol)

Le MCP est un protocole ouvert pour connecter des agents IA à des sources de données. Phano expose 6 outils via ce protocole, compatibles avec tout client MCP.

{
  "mcpServers": {
    "phano": {
      "url": "https://phano.ai/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <votre-cle-api>"
      }
    }
  }
}

6 outils disponibles pour les agents IA compatibles MCP : phano_getPortfolioSummary, phano_getPortfolioRisks, phano_getAccounts, phano_getAccountIntelligence, phano_getSignals, phano_getStatus.

Rate limiting

3 niveaux de limitation :

  • Burst : 50 requêtes / 10 secondes par clé
  • Quotidien : 10 000 requêtes / jour par organisation
  • Circuit breaker : 503 temporaire si >50% d'erreurs 5xx sur 1 minute

Headers de réponse :

  • X-RateLimit-Limit : limite burst
  • X-RateLimit-Remaining : requêtes restantes
  • X-RateLimit-Reset : epoch de reset
  • Retry-After : secondes avant retry (si 429)