L'API Lidmeo
Une API REST pour vos prospects, vos conversations, vos campagnes et votre CRM : conventions, ressources, contrat OpenAPI.
https://api.lidmeo.com/v1L'API fait ce que fait l'écran de Lidmeo, par les mêmes fonctions : lire votre CRM, le ranger, ajouter des leads, valider des invitations, envoyer des messages, suivre ce qui se passe. Les limites d'envoi, les horaires et « Ne plus contacter » s'y appliquent à l'identique.
Conventions
- JSON en UTF-8, noms de champs en anglais
snake_case. - Dates en ISO 8601, en UTC (
2026-10-01T08:30:00Z). Un jour seul (2026-10-02), commereminder_on, est un jour de Paris ; dansupdated_since, il commence à minuit, heure de Paris. - Identifiants opaques et préfixés :
acct_(compte),org_(agence),pros_(prospect),cmp_(campagne),conv_(conversation),msg_(message),stg_(étape),lst_(liste),note_,imp_(import),job_(recherche de coordonnées),sup_(« ne plus contacter »),evt_(événement),whe_(adresse de réception),whd_(livraison),key_(clé d'API),app_(application),grt_(connexion OAuth). Ne les fabriquez pas, ne les découpez pas : relisez-les tels quels. - Chaque objet porte
object(son type) ; ceux du compte (prospects, conversations, messages, campagnes, notes, événements, adresses de réception…) portent aussilivemode(falseen mode test). - Chaque réponse porte l'en-tête
Request-Id: donnez-le au support si quelque chose vous étonne. Vous pouvez aussi envoyer le vôtre : il est repris s'il fait de 8 à 64 caractères (lettres, chiffres,.,_et-), sinon Lidmeo en crée un. - Un paramètre inconnu n'est jamais ignoré : il répond
400 invalid_request, avec danserrorsle codeunknown_parameteret le champquery.<nom>. - Les erreurs sont des problèmes RFC 9457 avec un
codestable : voir les erreurs. - Les listes se lisent par pages, avec un curseur : voir la pagination.
- Les écritures acceptent une
Idempotency-Key: voir l'idempotence.
Les envois ne promettent jamais l'instant
Une action qui fait partir quelque chose (valider une invitation, un premier message, répondre, relancer) répond 202 et dit ce qui s'est vraiment passé :
status | Ce que cela veut dire |
|---|---|
sent | C'est parti. |
scheduled | Cela partira au plus tôt à scheduled_at ; cause dit pourquoi : window (hors de vos horaires), cap (limite du jour atteinte), paused (envois en pause pour protéger le compte). La file fait partir un envoi à la fois, dans vos limites : avec plusieurs envois programmés, la plupart partent plus tard. Relisez le prospect pour savoir quand il est parti. |
already_sent | C'était déjà parti. |
already_connected | Pas besoin d'invitation : la personne est déjà une relation. |
Sinon, un refus qui dit pourquoi : suppressed (« ne plus contacter »), daily_cap_reached, linkedin_disconnected, not_approvable… Rien n'est jamais présenté comme parti s'il ne l'est pas.
- Un envoi à la fois par compte : un second, pendant ce temps, répond
409 send_in_progress; réessayez dans un instant. - Le texte est le vôtre, et final : vide, ou s'il garde une variable de gabarit (
{{prenom}},[Prénom]…), il répond400 invalid_request. Une relance tient en 2000 caractères au plus ; les autres textes, en 4000. - Une réponse (
kind: "reply") ne part que vers un contact qui a répondu (sonreplied_at, ou une réponse déjà visible dans la conversation), sinon409 not_replied. Aveckind: "auto", c'est une réponse quand Lidmeo voit que le contact a répondu, une relance sinon. Jamais vers « Ne plus contacter », et au plus 100 par jour et par compte par l'API : au-delà,409 daily_cap_reached, aveccapetnext_slot_at.
Les ressources
| Ressource | Ce qu'elle porte |
|---|---|
| Identité | GET /v1/me (qui appelle), GET /v1/accounts (les comptes couverts) |
| Compte | GET /v1/overview (la journée), GET /v1/credits |
| Prospects | la liste et ses vues, la recherche, l'ajout de leads, l'étape, les rappels, les listes, les notes, l'historique, le retrait de la file, le lien avec vos outils |
| Conversations | une par personne, LinkedIn et e-mail réunis, et leurs messages |
| Campagnes | lecture, pause, reprise, ciblage, entonnoir |
| CRM | vos étapes, vos listes, « ne plus contacter » |
| Imports | des leads en nombre, par la règle d'import de Lidmeo |
| Envois | valider une invitation ou un premier message, envoyer une réponse ou une relance |
| Coordonnées | chercher l'e-mail ou le téléphone, avec vos crédits (jamais pour une personne « Ne plus contacter ») |
| Événements et webhooks | ce qui s'est passé, et les adresses qui le reçoivent |
| Mode test | remise à zéro, simulation d'une acceptation ou d'une réponse |
Chaque opération, ses paramètres et ses réponses : la référence complète, avec un essai en direct (utilisez une clé de test).
Le contrat
L'API est décrite par un document OpenAPI 3.1, généré depuis le code qui valide les requêtes : le contrat et le comportement ne peuvent pas diverger. Il déclare, pour chaque opération, chaque statut qu'elle peut répondre.
https://api.lidmeo.com/v1/openapi.jsonhttps://developers.lidmeo.com/openapi.json
Importez-le dans Postman, Insomnia ou votre générateur de client, ou utilisez nos SDK.