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
- objectstringImmer
account. - idstringEindeutige Kennung des Kontos.
- usernamestringDer X-Nutzername, ohne @.
- namestringDer Anzeigename auf X.
- profile_image_urlstring oder nullDie URL des Profilbilds.
- planstringDer Tarif des Inhabers.
businessenterprise
{
"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
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
- Der Schlüssel ist falsch.
- Der Inhaber des Kontos ist im Free- oder Starter-Tarif.
curl https://gemlead.ai/api/v1/account \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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
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.
curl -X POST \
https://gemlead.ai/api/v1/account/refresh_profile \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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
- objectstringImmer
account_settings. - account_idstringDie ID des Kontos.
- syncobjectDer Sync der X-Inbox in Gemlead.
- dms_paused_untilstring oder nullSolange X das Konto drosselt, der Zeitpunkt, ab dem es wieder DMs senden kann, ISO 8601.
- ownerobjectDer Inhaber des Kontos.
{
"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
Gibt Inbox-Sync, DM-Pause und das Profil des Inhabers zurück.
Rückgabe
Ein Einstellungsobjekt.
curl https://gemlead.ai/api/v1/account/settings \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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
Ändert die Einstellungen, die du sendest, und behält die anderen.
Body-Parameter
- sync_all_conversationsboolean
truesynchronisiert alle Unterhaltungen der X-Inbox und geht sie jetzt erneut durch.falsebehält nur die Unterhaltungen mit Leads. - timezonestringDie IANA-Zeitzone des Inhabers, etwa
Europe/Paris. Diagramme und Tageszahlen richten sich danach. - languagestringDie App-Sprache des Inhabers.
enfresitderuptnlja - first_namestringDer Vorname des Inhabers, bis zu 60 Zeichen.
- last_namestringDer Nachname des Inhabers, bis zu 60 Zeichen.
Rückgabe
Das aktualisierte Einstellungsobjekt.
Fehler
- Ein Parameter hat einen Wert, den die API nicht akzeptiert.
paramnennt 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.
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"
}'{
"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
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.
curl -X POST https://gemlead.ai/api/v1/account/sync/restart \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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
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.
curl -X POST https://gemlead.ai/api/v1/account/sync/pause \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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
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.
curl -X POST https://gemlead.ai/api/v1/account/sync/resume \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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
- objectstringImmer
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 nullDie Entschlüsselung des X Chat-Verlaufs nach Eingabe des Codes,
null, wenn keine lief.
{
"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
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.
curl https://gemlead.ai/api/v1/account/x_chat \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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
- objectstringImmer
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. - reasonstringDer Grund, falls nichts entsperrt wurde.
passcodeheißt, X hat den Code abgelehnt, und Gemlead entfernt ihn. - remaining_attemptsinteger oder nullDie Versuche, die X noch erlaubt, falls nichts entsperrt wurde und X sie angibt.
{
"object": "x_chat",
"passcode_set": false,
"unlocked": false,
"reason": "passcode",
"remaining_attempts": 3
}X Chat-Code setzen
writeGibt 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
- passcodestringErforderlichDer X Chat-Code, 4 Ziffern wie
4821.
Rückgabe
Ein Code-Ergebnis, mit reason und remaining_attempts, wenn X den Code abgelehnt hat.
Fehler
- Ein Pflichtparameter fehlt.
paramnennt ihn. - Ein Parameter hat einen Wert, den die API nicht akzeptiert.
paramnennt ihn. - Mehr als 5 Versuche pro Stunde in diesem Konto.
- X oder ein Gemlead-Dienst hat nicht geantwortet. Nichts wurde geändert, versuche es in einer Minute erneut.
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"
}'{
"object": "x_chat",
"passcode_set": true,
"unlocked": true
}X Chat-Code entfernen
writeEntfernt 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.
curl -X DELETE \
https://gemlead.ai/api/v1/account/x_chat/passcode \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "x_chat",
"passcode_set": false,
"unlocked": false
}