REST APIGET

Mentions de la boîte de réception

Listez les publications et commentaires qui mentionnent vos comptes sur Facebook, Instagram, Threads, Bluesky et Mastodon, répondez-y et marquez-les comme lus.

GEThttps://post.adaptlypost.com/post/api/v1/inbox/mentions

Renvoie les publications et commentaires qui mentionnent vos comptes, du plus récent au plus ancien. Répond { mentions, total, hasMore, nextCursor }.

Clé API (jeton Bearer)
Permission:inbox.readRôles et permissions

Tous les rôles détiennent inbox.read, donc toute clé valide peut lire la boîte de réception.

Paramètres de requête

ParamètreTaperDescription
accountIdsstring[]Uniquement ces comptes, par l'id de GET /social-accounts. Répétez la clé ou séparez les valeurs par des virgules. Jusqu'à 50
platformsPlatformType[]Uniquement ces plateformes. Répétez la clé ou séparez les valeurs par des virgules
statusesInboxStatus[]Uniquement les éléments dans ces états : UNREAD, READ ou DONE. Répétez la clé ou séparez les valeurs par des virgules
sincestring (ISO 8601)Uniquement les éléments créés sur la plateforme à partir de cette date et heure
searchstringTexte à rechercher
limitnumberÉléments par page, de 1 à 100. 25 par défaut
cursorstringLe nextCursor de la page précédente. nextCursor vaut null sur la dernière page

Environ 10 minutes, pas en temps réel

AdaptlyPost lit chaque compte connecté toutes les 10 minutes et garde ce qu'il trouve. Les listes répondent à partir de cette copie, donc un nouveau commentaire, une mention, un message ou un avis apparaît en environ 10 minutes. POST /api/v1/inbox/refresh demande une lecture immédiate. Les événements de webhook viennent des mêmes lectures.

Canaux qui demandent une reconnexion

Tous les canaux sont ouverts à l'API. Quand une connexion n'a pas la permission de la plateforme pour un canal ou une action, y compris les permissions que la plateforme examine encore pour AdaptlyPost, GET /api/v1/inbox/summary affiche le canal en RECONNECT_REQUIRED et chaque écriture sur ce canal répond 403 inbox_reconnect_required. Un jeton expiré répond de la même façon. Demandez à l'utilisateur de reconnecter le compte dans AdaptlyPost ; réessayer ne sert à rien.

Champs d'une mention

ChampDescription
idId de la mention. Utilisez-le avec les endpoints ci-dessous
accountIdLe compte auquel appartient l'élément : son id de GET /social-accounts
platformLa plateforme, en PlatformType
accountNameNom affiché de ce compte
platformMentionIdL'id, sur la plateforme, de la publication ou du commentaire qui mentionne le compte
authorL'auteur : id (l'id utilisateur de la plateforme), name, username et avatarUrl. id, username et avatarUrl peuvent valoir null
textLe texte qui mentionne le compte
permalinkLien public sur la plateforme, ou null quand la plateforme n'en donne pas
thumbnailUrlImage de la publication, ou null
createdAtDate de création sur la plateforme
statusUNREAD, READ ou DONE. Seul AdaptlyPost garde cet état ; la plateforme ne le voit pas
repliedtrue quand votre compte a répondu via AdaptlyPost
repliedAtDate de la dernière réponse de votre compte, ou null
capabilitiescanReply : false quand la plateforme ne permet pas au compte de répondre, comme pour les mentions Instagram
repliesLes réponses envoyées via AdaptlyPost, de la plus ancienne à la plus récente, chacune avec id, text, permalink et createdAt. Les réponses écrites dans l'application de la plateforme n'y figurent pas

Répondre à une mention

POSThttps://post.adaptlypost.com/post/api/v1/inbox/mentions/:id/reply

Répond, depuis le compte, à la publication ou au commentaire qui le mentionne, et répond 201 avec la mention. Sur Mastodon, la réponse garde la visibilité de la publication d'origine.

Clé API (jeton Bearer)
Permission:inbox.replyRôles et permissions

Les écritures exigent inbox.reply (Administrateur et Éditeur) et un abonnement AdaptlyPost actif. Sans abonnement, elles répondent 403 subscription_required.

Paramètres du corps

ParamètreTaperDescription
textREQUISstringLa réponse. Elle suit la limite de commentaire de la plateforme : Threads 500, Bluesky 300, Mastodon 500 et Facebook 8000 caractères

Marquer comme lu ou traité

POSThttps://post.adaptlypost.com/post/api/v1/inbox/mentions/status

Définit le statut de 100 mentions au plus et répond { mentions, unreadCount }.

Clé API (jeton Bearer)
Permission:inbox.replyRôles et permissions

Paramètres du corps

ParamètreTaperDescription
idsREQUISstring[]De 1 à 100 ids issus de la liste
statusREQUISInboxStatusUNREAD, READ ou DONE

Refus

Un appel refusé répond { statusCode, error, code, message }. Basez-vous sur code. message explique le refus en clair.

CodeStatutQuand, et que faire
inbox_item_not_found404L'id n'existe pas ou appartient à un autre espace de travail. Arrêtez
inbox_action_unsupported400La plateforme, ou cet élément, ne permet pas ce masquage, cette suppression ou ce j'aime. capabilities indique ce qui s'applique. Arrêtez
inbox_reconnect_required403La connexion n'a pas la permission pour ce canal ou cette action, y compris une permission encore en examen par la plateforme, ou son jeton a expiré. Demandez à l'utilisateur de reconnecter le compte dans AdaptlyPost. Ne réessayez pas
inbox_reply_invalid400Le texte est vide ou dépasse la limite. Le message indique la limite. Corrigez le texte
inbox_messaging_window_closed400Facebook ou Instagram : la fenêtre de réponse de 24 heures est passée. Arrêtez
inbox_rate_limited429La plateforme a limité le débit d'AdaptlyPost. Réessayez plus tard
inbox_platform_error503La plateforme a échoué. Réessayez plus tard
permission_denied403Le rôle de la clé n'a pas inbox.read ou inbox.reply. Ne réessayez pas
subscription_required403Une écriture sans abonnement AdaptlyPost actif. Ne réessayez pas
Lister les nouvelles mentions
curl --request GET \
  --url 'https://post.adaptlypost.com/post/api/v1/inbox/mentions?statuses=UNREAD&since=2026-11-01T00:00:00Z' \
  --header 'Authorization: Bearer <api-key>'
Répondre à une mention
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/inbox/mentions/mnt_41c7e0b2/reply \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{ "text": "Thanks for the shout-out!" }'
Marquer une mention comme lue
curl --request POST \
  --url https://post.adaptlypost.com/post/api/v1/inbox/mentions/status \
  --header 'Authorization: Bearer <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{ "ids": ["mnt_41c7e0b2"], "status": "READ" }'
200
{
  "mentions": [
    {
      "id": "mnt_41c7e0b2",
      "accountId": "conn_bsky_001",
      "platform": "BLUESKY",
      "accountName": "adaptlypost.com",
      "platformMentionId": "at://did:plc:4k2x.../app.bsky.feed.post/3lb2x7q",
      "author": {
        "id": "did:plc:7f3q2m",
        "name": "Marta Nowak",
        "username": "marta.bsky.social",
        "avatarUrl": null
      },
      "text": "Scheduling a month of posts with @adaptlypost.com took me 20 minutes",
      "permalink": "https://bsky.app/profile/marta.bsky.social/post/3lb2x7q",
      "thumbnailUrl": null,
      "createdAt": "2026-11-07T18:03:10.000Z",
      "status": "UNREAD",
      "replied": false,
      "repliedAt": null,
      "capabilities": { "canReply": true },
      "replies": []
    }
  ],
  "total": 3,
  "hasMore": false,
  "nextCursor": null
}