Comptes connectés
Un espace de travail peut connecter plusieurs comptes d'un même réseau — deux pages Facebook, deux comptes TikTok, plusieurs profils LinkedIn. GET /v2/accounts liste ces comptes et vous donne l'identifiant à placer dans targets pour publier sur celui que vous voulez.
Principe
/v2/accountsLister les comptes connectés et leurs identifiants
Scope requis : accounts:read ou publish:posts — lister ses comptes étant un prérequis de la publication, une clé déjà autorisée à publier n'a rien à changer. Seuls les réseaux publiables par l'API sont listés (WhatsApp Business dispose de sa propre logique de modèles et n'est pas une cible de /v2/posts).
Lister les comptes
curl https://api.kreatoai.com/v2/accounts \
-H "x-api-key: sk-kre-v1-votre_cle"// 200 OK
{
"items": [
{
"id": "a3f27c9e-4b12-4c8d-9f01-7d2e5b8a1c34",
"platform": "facebook",
"name": "Campus Plus",
"avatarUrl": "https://…/photo.jpg",
"isDefault": true,
"connectedAt": "2026-07-22T09:14:02.000Z"
},
{
"id": "b71c04d2-8e35-4a90-b6f7-1c9d3e0a5f28",
"platform": "facebook",
"name": "AgriBusiness Afrique",
"avatarUrl": "https://…/photo.jpg",
"isDefault": false,
"connectedAt": "2026-07-23T11:02:47.000Z"
},
{
"id": "c04e91a7-2d68-4f13-8b5c-6a0f7e2d9b41",
"platform": "linkedin",
"name": "Nafiou Tino",
"avatarUrl": null,
"isDefault": true,
"connectedAt": "2026-06-30T16:45:11.000Z"
}
]
}| Champ | Description |
|---|---|
id | L'identifiant à passer en channelId lors d'une publication |
platform | facebook, instagram, linkedin ou tiktok |
name | Nom du compte chez le réseau. null tant que le réseau ne l'a pas encore communiqué |
avatarUrl | Photo de profil, quand le réseau en expose une |
isDefault | Compte visé quand vous écrivez seulement le nom du réseau |
connectedAt | Date de connexion du compte à KreatoAI |
Ces identifiants sont stables : ils ne changent pas tant que le compte n'est pas déconnecté. Récupérez-les une fois et stockez-les dans votre intégration plutôt que d'appeler /v2/accounts avant chaque publication. Vous pouvez aussi les copier depuis l'interface, sur la page Canaux du tableau de bord (bouton « ID API » sous chaque compte).
Cibler un compte précis
Dans targets, une cible s'écrit de deux manières — et les deux formes se mélangent librement dans le même appel :
curl -X POST https://api.kreatoai.com/v2/posts \
-H "x-api-key: sk-kre-v1-votre_cle" \
-H "Content-Type: application/json" \
-d '{
"targets": [
{ "platform": "facebook", "channelId": "a3f27c9e-4b12-4c8d-9f01-7d2e5b8a1c34" },
{ "platform": "facebook", "channelId": "b71c04d2-8e35-4a90-b6f7-1c9d3e0a5f28" },
"linkedin"
],
"content": "Notre nouvelle offre est en ligne !"
}'Un identifiant qui n'appartient pas à votre espace, ou qui ne correspond pas au réseau indiqué, est rejeté avec channel_not_connected. Deux cibles pointant sur le même compte donnent duplicate_target — en revanche, deux pages Facebook différentes sont parfaitement valides.
Le compte par défaut
Écrire simplement "facebook" vise le compte marqué isDefault: true : le plus ancien compte connecté de ce réseau. Ce choix est stable dans le temps — connecter une nouvelle page ne déplace pas la cible de vos automatisations existantes.
Si votre espace n'a qu'un compte par réseau, ce raccourci suffit et rien ne change pour vous. Dès que vous en connectez plusieurs, nommez explicitement le compte : c'est la seule écriture qui dit sans ambiguïté où vous publiez.
Retrouver le compte dans les réponses
Chaque cible renvoyée par /v2/posts porte accountId et accountName : avec trois pages Facebook, vous savez laquelle a réussi et laquelle a échoué.
{
"targets": [
{ "platform": "facebook", "accountId": "a3f27c9e-…", "accountName": "Campus Plus",
"status": "succeeded", "postUrl": "https://facebook.com/…" },
{ "platform": "facebook", "accountId": "b71c04d2-…", "accountName": "AgriBusiness Afrique",
"status": "failed", "failReason": "…", "failType": "permanent" }
]
}Les webhooks transportent les mêmes champs, pour router une notification vers la bonne équipe sans interroger l'API. Sur les publications créées avant l'arrivée du multi-comptes, accountId vaut null.