API-Referenz

Konto

Das Konto ist das X-Konto, zu dem ein Schlüssel gehört. Rufe es ab, um einen Schlüssel zu prüfen, ändere seine Einstellungen, starte den Sync seiner X-Inbox neu oder gib Gemlead seinen X Chat-Code. Zeitzone, Sprache und Name des Inhabers gelten für alle seine X-Konten.

Das Kontoobjekt

Das X-Konto, zu dem ein Schlüssel gehört. Ein Schlüssel gilt für genau ein X-Konto, und ein Inhaber mit mehreren X-Konten hat für jedes einen Schlüssel.

Attribute

  • objectstring
    Immer account.
  • idstring
    Eindeutige Kennung des Kontos.
  • usernamestring
    Der X-Nutzername, ohne @.
  • namestring
    Der Anzeigename auf X.
  • profile_image_urlstring oder null
    Die URL des Profilbilds.
  • planstring
    Der Tarif des Inhabers.
    businessenterprise
Das Kontoobjekt
{
  "object": "account",
  "id": "a9PzK2vRtM",
  "username": "acme",
  "name": "Acme",
  "profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
  "plan": "business"
}

Konto abrufen

GET/v1/accountScope readMCPget_account

Gibt das X-Konto zurück, zu dem der Schlüssel gehört. Ein guter erster Aufruf, um einen Schlüssel zu prüfen.

Rückgabe

Ein Kontoobjekt.

Fehler

GET/v1/account
curl https://gemlead.ai/api/v1/account \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "account",
  "id": "a9PzK2vRtM",
  "username": "acme",
  "name": "Acme",
  "profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
  "plan": "business"
}

X-Profil aktualisieren

POST/v1/account/refresh_profileScope writeMCPupdate_account_settings

Liest das X-Profil des Kontos neu ein, für einen neuen Namen oder ein neues Foto.

Rückgabe

Das Kontoobjekt.

Fehler

  • Die Sitzung des X-Kontos ist abgelaufen. Verbinde es in der App neu und versuche es dann noch einmal.
  • X oder ein Gemlead-Dienst hat nicht geantwortet. Nichts wurde geändert, versuche es in einer Minute erneut.
POST/v1/account/refresh_profile
curl -X POST \
  https://gemlead.ai/api/v1/account/refresh_profile \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "account",
  "id": "a9PzK2vRtM",
  "username": "acme",
  "name": "Acme",
  "profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
  "plan": "business"
}

Das Einstellungsobjekt

Wie das Konto seine X-Inbox synchronisiert, ob seine DMs pausiert sind, und das Profil des Inhabers. Zeitzone, Sprache und Name des Inhabers gelten für alle seine X-Konten.

Attribute

  • objectstring
    Immer account_settings.
  • account_idstring
    Die ID des Kontos.
  • syncobject
    Der Sync der X-Inbox in Gemlead.
  • dms_paused_untilstring oder null
    Solange X das Konto drosselt, der Zeitpunkt, ab dem es wieder DMs senden kann, ISO 8601.
  • ownerobject
    Der Inhaber des Kontos.
Das Einstellungsobjekt
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "done",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Kontoeinstellungen abrufen

GET/v1/account/settingsScope readMCPget_account_settings

Gibt Inbox-Sync, DM-Pause und das Profil des Inhabers zurück.

Rückgabe

Ein Einstellungsobjekt.

GET/v1/account/settings
curl https://gemlead.ai/api/v1/account/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "done",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Kontoeinstellungen ändern

PATCH/v1/account/settingsScope writeMCPupdate_account_settings

Ändert die Einstellungen, die du sendest, und behält die anderen.

Body-Parameter

  • sync_all_conversationsboolean
    true synchronisiert alle Unterhaltungen der X-Inbox und geht sie jetzt erneut durch. false behält nur die Unterhaltungen mit Leads.
  • timezonestring
    Die IANA-Zeitzone des Inhabers, etwa Europe/Paris. Diagramme und Tageszahlen richten sich danach.
  • languagestring
    Die App-Sprache des Inhabers.
    enfresitderuptnlja
  • first_namestring
    Der Vorname des Inhabers, bis zu 60 Zeichen.
  • last_namestring
    Der Nachname des Inhabers, bis zu 60 Zeichen.

Rückgabe

Das aktualisierte Einstellungsobjekt.

Fehler

  • Ein Parameter hat einen Wert, den die API nicht akzeptiert. param nennt ihn.
  • Der Body enthält ein Feld, das dieser Endpoint nicht akzeptiert.
  • Die Sitzung des X-Kontos ist abgelaufen. Verbinde es in der App neu und versuche es dann noch einmal.
PATCH/v1/account/settings
curl -X PATCH https://gemlead.ai/api/v1/account/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "timezone": "Europe/Paris"
  }'
Antwort200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "done",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Inbox-Sync neu starten

POST/v1/account/sync/restartScope writeMCPupdate_account_settings

Geht die X-Inbox noch einmal von vorne durch, um Unterhaltungen zurückzuholen, die Gemlead verpasst hat.

Rückgabe

Das Einstellungsobjekt.

Fehler

  • Die Sitzung des X-Kontos ist abgelaufen. Verbinde es in der App neu und versuche es dann noch einmal.
POST/v1/account/sync/restart
curl -X POST https://gemlead.ai/api/v1/account/sync/restart \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "syncing",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Inbox-Sync pausieren

POST/v1/account/sync/pauseScope writeMCPupdate_account_settings

Pausiert den Sync der X-Inbox.

Rückgabe

Das Einstellungsobjekt.

Fehler

  • Die Sitzung des X-Kontos ist abgelaufen. Verbinde es in der App neu und versuche es dann noch einmal.
POST/v1/account/sync/pause
curl -X POST https://gemlead.ai/api/v1/account/sync/pause \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "paused",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Inbox-Sync fortsetzen

POST/v1/account/sync/resumeScope writeMCPupdate_account_settings

Setzt einen pausierten Sync der X-Inbox fort.

Rückgabe

Das Einstellungsobjekt.

Fehler

  • Die Sitzung des X-Kontos ist abgelaufen. Verbinde es in der App neu und versuche es dann noch einmal.
POST/v1/account/sync/resume
curl -X POST https://gemlead.ai/api/v1/account/sync/resume \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "syncing",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Das X Chat-Objekt

X Chat ist die verschlüsselte Inbox von X. Gemlead liest ihre Nachrichten, sobald es den 4-stelligen X Chat-Code des Kontos hat. X Chat verbindest du in der App.

Attribute

  • objectstring
    Immer x_chat.
  • connectedboolean
    true, wenn das Konto in der App mit X Chat verbunden ist.
  • passcode_setboolean
    true, wenn Gemlead den X Chat-Code hat. Der Code selbst wird nie zurückgegeben.
  • unlockobject oder null
    Die Entschlüsselung des X Chat-Verlaufs nach Eingabe des Codes, null, wenn keine lief.
Das X Chat-Objekt
{
  "object": "x_chat",
  "connected": true,
  "passcode_set": true,
  "unlock": {
    "running": false,
    "total": 214,
    "done": 214,
    "finished_at": "2026-11-06T07:58:30.000Z"
  }
}

X Chat abrufen

GET/v1/account/x_chatScope readMCPget_account_settings

Gibt zurück, ob das Konto mit X Chat verbunden ist, ob Gemlead seinen Code hat und wie weit die Entschlüsselung des Verlaufs ist.

Rückgabe

Ein X Chat-Objekt.

GET/v1/account/x_chat
curl https://gemlead.ai/api/v1/account/x_chat \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "x_chat",
  "connected": true,
  "passcode_set": true,
  "unlock": {
    "running": false,
    "total": 214,
    "done": 214,
    "finished_at": "2026-11-06T07:58:30.000Z"
  }
}

Das Code-Ergebnis

Was das Setzen oder Entfernen des X Chat-Codes zurückgibt.

Attribute

  • objectstring
    Immer x_chat.
  • passcode_setboolean
    true, wenn Gemlead einen Code gespeichert hat.
  • unlockedboolean
    true, wenn X den Code angenommen hat und Gemlead die verschlüsselten Nachrichten lesen kann.
  • reasonstring
    Der Grund, falls nichts entsperrt wurde. passcode heißt, X hat den Code abgelehnt, und Gemlead entfernt ihn.
  • remaining_attemptsinteger oder null
    Die Versuche, die X noch erlaubt, falls nichts entsperrt wurde und X sie angibt.
Das Code-Ergebnis
{
  "object": "x_chat",
  "passcode_set": false,
  "unlocked": false,
  "reason": "passcode",
  "remaining_attempts": 3
}

X Chat-Code setzen

PUT/v1/account/x_chat/passcodeScope write

Gibt Gemlead den X Chat-Code des Kontos und entsperrt damit die verschlüsselten Nachrichten. Du hast 5 Versuche pro Stunde, X zählt jeden Versuch. Nur per REST. Bewusst setzt oder entfernt kein MCP-Tool einen Code, damit ein Code nie durch einen KI-Chat läuft.

Body-Parameter

  • passcodestringErforderlich
    Der X Chat-Code, 4 Ziffern wie 4821.

Rückgabe

Ein Code-Ergebnis, mit reason und remaining_attempts, wenn X den Code abgelehnt hat.

Fehler

PUT/v1/account/x_chat/passcode
curl -X PUT \
  https://gemlead.ai/api/v1/account/x_chat/passcode \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "passcode": "4821"
  }'
Antwort200
{
  "object": "x_chat",
  "passcode_set": true,
  "unlocked": true
}

X Chat-Code entfernen

DELETE/v1/account/x_chat/passcodeScope write

Entfernt den Code aus Gemlead. Neue X Chat-Nachrichten bleiben verschlüsselt, bis du ihn wieder setzt. Nur per REST. Bewusst setzt oder entfernt kein MCP-Tool einen Code, damit ein Code nie durch einen KI-Chat läuft.

Rückgabe

Ein Code-Ergebnis, mit dem Wert false in passcode_set.

DELETE/v1/account/x_chat/passcode
curl -X DELETE \
  https://gemlead.ai/api/v1/account/x_chat/passcode \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "object": "x_chat",
  "passcode_set": false,
  "unlocked": false
}