URL de base
Tous les endpoints vivent soushttps://api.withallo.com. La version fait partie du chemin, pas d’un header.
POST /v2/api/sms n’existe pas. Envoyer un SMS est un appel v1. Chemin complet et corps de requête : Envoyer un SMS.
Commencez ici
AppelezGET /v2/api/me en premier. Cet endpoint renvoie les scopes de votre clé, la liste exacte des endpoints qu’elle peut atteindre, votre équipe et vos rate limits. Vous n’avez donc rien à deviner.
/v2/api/me. Aucun scope particulier n’est requis. Voir Me.
Pour commencer
Avant d’utiliser l’API, assurez-vous d’avoir :- Un abonnement Allo actif
- Les permissions Admin ou Manager sur votre workspace
- Une API key générée depuis Paramètres > API
Authentification
Les API keys sont générées depuis les paramètres de votre workspace. Incluez la clé dans le headerAuthorization de chaque requête :
Api-Key, pas Bearer. Stockez votre API key de manière sécurisée. Ne l’exposez pas dans du code côté client ou des dépôts publics.
Guides
Authentification
Configuration des API keys, scopes et correspondance scope/endpoint
Rate limits
Limites de requêtes et headers
Pagination
Résultats paginés avec totaux
Gestion des erreurs
Format des erreurs et résolution
Codes d'erreur
Chaque code d’erreur et quoi faire ensuite
Cas d'usage courants
Des requêtes prêtes à l’emploi pour les tâches habituelles
Ressources
Rate limiting
Les rate limits varient selon le type de requête et s’appliquent par API key :
Chaque réponse inclut les headers
X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset pour que vous puissiez surveiller votre utilisation. Voir Rate limits pour les détails.
Exemple rapide
Obtenez vos conversations récentes :FAQ
Quelle est l'URL de base et comment l'API est-elle versionnée ?
Quelle est l'URL de base et comment l'API est-elle versionnée ?
L’hôte est toujours
https://api.withallo.com. La version est le premier segment du chemin. Presque tout est en /v2/api/.... L’envoi de SMS est en /v1/api/sms. Il n’y a ni header de version, ni header Accept à définir.Comment s'authentifier ?
Comment s'authentifier ?
Quel scope faut-il pour un endpoint ?
Quel scope faut-il pour un endpoint ?
Appelez
GET /v2/api/me. Son tableau endpoints liste chaque chemin que votre clé peut atteindre avec le scope nécessaire. Le tableau complet est aussi dans Authentification. Un 403 avec le code API_KEY_INSUFFICIENT_SCOPE signifie que la clé est valide mais qu’il lui manque un scope : créez une nouvelle clé avec ce scope.Comment envoyer un SMS ?
Comment envoyer un SMS ?
POST /v1/api/sms depuis un numéro Allo américain, et POST /v1/api/sms avec un sender ID vérifié pour la France. Le scope est SMS_SEND et les numéros sont au format E.164 (+14155551234). Voir Envoyer un SMS et Envoyer un SMS (France).Comment retrouver un appel ou un message précis ?
Comment retrouver un appel ou un message précis ?
Utilisez
POST /v2/api/conversations/items/search avec des filtres comme date, direction, type et une chaîne search qui porte sur les transcriptions et le contenu des messages. GET /v2/api/conversations regroupe plutôt l’activité par numéro de contact. Pour récupérer des IDs connus en lot, utilisez POST /v2/api/conversations/items/batch. Voir Conversations.Comment fonctionne la pagination ?
Comment fonctionne la pagination ?
Les endpoints paginés acceptent
page et size et renvoient un objet pagination avec page, size, total_count, total_pages et has_more. Incrémentez page tant que has_more vaut true. Pour compter des résultats sans les récupérer, demandez size=1 et lisez pagination.total_count. Voir Pagination.À quoi ressemble une erreur et peut-on la réessayer ?
À quoi ressemble une erreur et peut-on la réessayer ?
Chaque erreur renvoie un objet
error avec type, code, message, retryable, request_id, et souvent param, suggestion et doc_url. Ne réessayez que si retryable vaut true. Sur un 429, attendez retry_after_seconds avant de réessayer. Voir Gestion des erreurs et Codes d’erreur.Quelles sont les rate limits ?
Quelles sont les rate limits ?
20 requêtes GET par seconde et 5 requêtes d’écriture par seconde, par API key. Lisez
X-RateLimit-Remaining et X-RateLimit-Reset sur chaque réponse. Voir Rate limits.Quel format pour les numéros de téléphone ?
Quel format pour les numéros de téléphone ?
E.164, avec le
+ et l’indicatif pays, par exemple +14155551234. Quand un numéro passe dans une query string, encodez le + en %2B.Comment être notifié à la fin d'un appel plutôt que d'interroger l'API ?
Comment être notifié à la fin d'un appel plutôt que d'interroger l'API ?
Créez un webhook avec
POST /v2/api/webhooks et abonnez-vous aux événements dont vous avez besoin. Les payloads sont signés en HMAC et réessayés automatiquement. Listez les événements disponibles avec GET /v2/api/webhooks/event_types. Voir Webhooks.Peut-on créer des comptes Allo pour ses propres clients ?
Peut-on créer des comptes Allo pour ses propres clients ?
Oui, avec le scope
PARTNER. POST /v2/api/partner/accounts crée un compte, provisionne un numéro et renvoie une API key liée à ce compte. Le scope PARTNER est accordé manuellement aux revendeurs approuvés et ne peut pas s’auto-générer. Voir Partenaires.Existe-t-il un serveur MCP ?
Existe-t-il un serveur MCP ?
Oui. Voir le MCP Allo pour connecter un agent IA à Allo sans écrire d’appels HTTP.
Étapes suivantes
Cas d'usage courants
Des requêtes prêtes à copier pour synchroniser, rechercher et reporter
Authentification
Scopes et correspondance scope/endpoint
Webhooks
Recevez les événements au lieu d’interroger l’API
Le MCP Allo
Connectez un agent IA à Allo sans écrire d’appels HTTP
Authorization: Api-Key ak_live_your_key_heresur chaque requête. Le schéma estApi-Key, pasBearer. Générez vos clés depuis Paramètres > API avec les permissions Admin ou Manager. Une clé est liée à une seule équipe et ne s’affiche qu’une fois. Voir Authentification.