Firmreader Docs Online logo

Référence API

Explorez la référence de l’API REST Firmreader pour créer des publications, gérer des canaux, vous authentifier par clés API et interroger les analyses.

L’API Firmreader est une API REST qui vous permet de créer des publications, de gérer des canaux et d’interroger des analyses par programmation avec du code. Essayez notre API puissante.

URL de base

https://api.firmreader.com/v1

Authentification

Chaque requête nécessite une clé API dans l’en-tête Authorization :

curl https://api.firmreader.com/v1/posts \
  -H "Authorization: Bearer fr_live_abc123"

Les clés API sont créées dans Settings > API Keys. Chaque clé possède une portée qui limite les éléments auxquels elle peut accéder :

PortéeAutorisations
posts:readLister et récupérer les publications
posts:writeCréer, mettre à jour et supprimer des publications
channels:readLister et récupérer les canaux
channels:writeCréer, mettre à jour et supprimer des canaux
analytics:readInterroger les métriques d’engagement

Limites de débit

ForfaitRequêtes par minute
Starter60
Business300
Enterprise1 000

Les en-têtes de limite de débit sont inclus dans chaque réponse :

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1708790400

Format des erreurs

Toutes les erreurs suivent un format cohérent :

{
  "error": {
    "code": "invalid_request",
    "message": "The channel_id field is required.",
    "param": "channel_id"
  }
}
Statut HTTPSignification
400Requête incorrecte — vérifiez vos paramètres
401Non autorisé — clé API invalide ou manquante
403Accès interdit — la clé API n’a pas la portée requise
404Introuvable — la ressource n’existe pas
429Limite de débit atteinte — ralentissez
500Erreur du serveur — réessayez plus tard

Pagination

Les endpoints de liste renvoient des résultats paginés. Utilisez les paramètres cursor et limit :

curl "https://api.firmreader.com/v1/posts?limit=20&cursor=post_abc123" \
  -H "Authorization: Bearer fr_live_abc123"

La réponse comprend un champ next_cursor. Lorsque sa valeur est null, vous avez atteint la fin.

{
  "data": [...],
  "next_cursor": "post_xyz789",
  "has_more": true
}

Last updated on