REST-API

Leads

Leads aus deinem Workspace auflisten und neue Leads aus eigenen Formularen oder Systemen anlegen.

Wofür

Leads sind Kontaktanfragen, die deine Assistenten im Gespräch aufnehmen. Über die API holst du sie in dein CRM oder legst selbst Leads an, die dann im Lead-Posteingang erscheinen und dieselben Benachrichtigungen und Abläufe auslösen wie Leads aus dem Widget.

GET /leads

ParameterTypStandardBedeutung
limitZahl50Anzahl je Seite, höchstens 100
offsetZahl0Einträge überspringen
botIdText–Nur Leads dieses Assistenten
curlbash
curl "https://app.lymbe.ai/api/v1/leads?limit=50" \
  -H "x-api-key: lymbe_DEIN_SCHLUESSEL"
Antwort 200json
{
  "leads": [
    {
      "id": "cmg9x8y7z0001",
      "botId": "BOT_ID",
      "name": "Max Mustermann",
      "email": "max@example.com",
      "phone": "+49 30 1234567",
      "company": "Beispiel GmbH",
      "message": "Bitte um Rückruf wegen Angebot",
      "source": "widget",
      "status": "NEW",
      "conversationId": "cmg1a2b3c0001",
      "createdAt": "2026-10-17T09:15:02.000Z"
    }
  ],
  "pagination": { "total": 87, "limit": 50, "offset": 0, "hasMore": true }
}

POST /leads

Legt einen neuen Lead für einen Assistenten an. Der Körper ist JSON.

FeldPflichtBedeutung
botIdjaKennung des Assistenten, dem der Lead zugeordnet wird
nameneinName der Person
emailneinE-Mail-Adresse; muss gültig sein, wenn angegeben
phoneneinTelefonnummer
companyneinFirma
messageneinAnliegen oder Notiz
curlbash
curl -X POST https://app.lymbe.ai/api/v1/leads \
  -H "x-api-key: lymbe_DEIN_SCHLUESSEL" \
  -H "Content-Type: application/json" \
  -d '{
    "botId": "BOT_ID",
    "name": "Erika Musterfrau",
    "email": "erika@example.com",
    "message": "Anfrage aus dem Kontaktformular"
  }'
fetchjavascript
const res = await fetch('https://app.lymbe.ai/api/v1/leads', {
  method: 'POST',
  headers: {
    'x-api-key': process.env.LYMBE_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    botId: 'BOT_ID',
    name: 'Erika Musterfrau',
    email: 'erika@example.com',
    message: 'Anfrage aus dem Kontaktformular',
  }),
});
if (res.status === 201) {
  const { lead } = await res.json();
  console.log('Lead angelegt:', lead.id);
}

Bei Erfolg antwortet die API mit 201 und {"lead": {…}}.

Was ein neuer Lead auslöst

  • Er erscheint sofort im Lead-Posteingang.
  • Die Benachrichtigungen des Assistenten für „Neue Anfrage erfasst“ gehen raus (E-Mail, Slack, Teams, eigener Endpunkt).
  • Abläufe mit dem Auslöser für neue Leads starten (siehe Auslöser).
Auch beim TestenEin Lead, den du zum Ausprobieren anlegst, ist ein echter Lead und löst alles oben Genannte aus. Teste am besten mit einem eigenen Test-Assistenten.

Fehler

StatusAntwortUrsache
400{"error":"Validation error","details":[…]}botId fehlt oder E-Mail ungültig
403{"code":"NUR_LESEN", …}Dein Workspace ist gerade nur lesbar, z. B. wegen offener Zahlung
429–100 Anfragen pro Stunde überschritten oder Lead-Grenze deines Tarifs erreicht
500{"error":"Internal server error"}Häufigster Grund: Die botId gibt es in deinem Workspace nicht. Prüfe sie mit GET /bots.

Datenschutz

  • Lege nur Leads von Personen an, die dir ihre Daten für eine Kontaktaufnahme gegeben haben.
  • Leads unterliegen der Aufbewahrung deines Workspaces.

Häufige Fragen

FrageAntwort
Kann ich Leads über die API ändern oder löschen?Nein. Status ändern und löschen geht im Lead-Posteingang.
Kann ich eigene Felder mitschicken?Nein, die API nimmt nur die sechs Felder oben an. Weitere Angaben schreibst du in message.
Woher bekomme ich die botId?Aus GET /bots.