URL de base
app.famulor.io par ce domaine. Les chemins restent identiques.
Accès à l’API
Les requêtes REST nécessitent API Access dans le forfait de l’espace de travail ou sous forme d’option récurrente. Si cet accès est retiré, les clés API et identifiants OAuth existants restent consultables et révocables par les administrateurs de l’espace de travail, mais les requêtes/api/v1 ordinaires renvoient 403 api_access_required.
Après l’échec d’un paiement de forfait, POST /api/v1/billing/invoice-payment et POST /api/v1/billing/portal restent disponibles avec un identifiant valide afin qu’un propriétaire puisse régulariser la facturation. Les contrôles d’authentification, de rôle et de portée continuent de s’appliquer.
Authentification
Envoyez un jeton Bearer dans l’en-têteAuthorization :
- Workspace API keys (
fam_...) — créez-les sous Settings → API & MCP pour les intégrations serveur à serveur. La clé complète n’est affichée qu’une seule fois. Le tableau de bord n’offre pas de sélecteur de portées, donc une clé qui y est créée porte toujours toutes les portées. Pour générer une clé plus restreinte, appelezPOST /api/v1/api-keysouPOST /api/v1/workspaces/{workspace_id}/api-keysavec un tableauscopesexplicite — les portées de la nouvelle clé doivent être un sous-ensemble de celles de l’identifiant qui la crée. - OAuth 2.0 access tokens (
fam_at_...) — utilisez Authorization Code avec PKCE-S256 pour les applications agissant au nom d’un utilisateur connecté.
Hygiène des clés
- Stockez les clés dans des variables d’environnement ou un gestionnaire de secrets, jamais dans le contrôle de version.
- Limitez chaque clé au strict nécessaire pour l’intégration — une clé qui ne fait que lire les appels ne devrait pas aussi avoir
assistants:write. Les clés créées depuis le tableau de bord ont toujours un accès complet ; utilisez le chemin API ci-dessus pour en générer une aux portées restreintes. - Faites tourner les clés périodiquement, et immédiatement après le départ de toute personne y ayant accès.
- Révoquer une clé depuis Settings → API & MCP prend effet immédiatement ; les requêtes déjà en cours peuvent tout de même aboutir.
Exigences des clients OAuth
Un client développé sur mesure pilote directement les points de terminaison d’autorisation et de jeton :127.0.0.1. Les demandes d’autorisation OAuth doivent utiliser PKCE-S256 et ne demander que les portées enregistrées pour le client. En cas de limitation de débit, réessayez après le délai indiqué par la réponse.
Le client utilise soit des identifiants préapprouvés pour votre espace de travail, soit s’enregistre lui-même dynamiquement avec POST /api/oauth/register — en fournissant entre 1 et 10 redirect_uris uniques. Les points de terminaison, les portées prises en charge et les types d’octroi sont détectables via /.well-known/oauth-authorization-server.
Les jetons d’accès se renouvellent avec l’octroi refresh_token. Les jetons de rafraîchissement changent à chaque utilisation : demander un nouveau jeton d’accès émet aussi un nouveau jeton de rafraîchissement et invalide immédiatement celui que vous avez envoyé.
Format des réponses
Les réponses réussies placent le résultat dansdata et peuvent inclure meta :
Pagination
Les points de terminaison de liste utilisentlimit et offset :
Utilisez
meta.pagination.total pour déterminer si d’autres pages sont disponibles.
Erreurs
Les échecs renvoient un code stable et un message lisible :Gestion des clients en marque blanche
Les revendeurs autorisés peuvent utiliser les points de terminaisonplatform pour gérer leurs propres clients finaux, émettre et révoquer des jetons API client, transférer des crédits, et gérer leur domaine personnalisé. Ces points de terminaison nécessitent les portées platform:read ou platform:write ; les opérations sur le domaine personnalisé utilisent la portée de paramètres correspondante.
Consultez le guide de l’API marque blanche pour des exemples.