API-referentie
Account
Het account is het X-account waar een sleutel bij hoort. Lees het om een sleutel te testen, wijzig de instellingen, start de sync van de X-inbox opnieuw of geef Gemlead de X Chat-code. De tijdzone, taal en naam van de eigenaar gelden voor al zijn X-accounts.
Het accountobject
Het X-account waar een sleutel bij hoort. Een sleutel werkt op één X-account, en een eigenaar met meerdere X-accounts heeft voor elk een sleutel.
Attributen
- objectstringAltijd
account. - idstringUnieke ID van het account.
- usernamestringDe X-gebruikersnaam, zonder de @.
- namestringDe weergavenaam op X.
- profile_image_urlstring of nullDe URL van de profielfoto.
- planstringHet abonnement van de eigenaar.
businessenterprise
{
"object": "account",
"id": "a9PzK2vRtM",
"username": "acme",
"name": "Acme",
"profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
"plan": "business"
}Het account ophalen
Geeft het X-account terug waar de sleutel bij hoort. Een goede eerste aanroep om een sleutel te testen.
Resultaat
Een accountobject.
Fouten
- De sleutel klopt niet.
- De eigenaar van het account heeft het abonnement Free of Starter.
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"
}Het X-profiel vernieuwen
Leest het X-profiel van het account opnieuw uit, voor een nieuwe naam of foto.
Resultaat
Het accountobject.
Fouten
- De sessie van het X-account is verlopen. Koppel het opnieuw in de app en probeer het dan nog eens.
- X of een dienst van Gemlead antwoordde niet. Er is niets veranderd, probeer het over een minuut opnieuw.
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"
}Het object met accountinstellingen
Hoe het account zijn X-inbox synchroniseert, of de DM's gepauzeerd zijn, en het profiel van de eigenaar. De tijdzone, taal en naam van de eigenaar gelden voor al zijn X-accounts.
Attributen
- objectstringAltijd
account_settings. - account_idstringDe ID van het account.
- syncobjectDe sync van de X-inbox naar Gemlead.
- dms_paused_untilstring of nullZolang X het account beperkt, het moment waarop de DM's weer kunnen, in ISO 8601.
- ownerobjectDe eigenaar van het account.
{
"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"
}
}Accountinstellingen ophalen
Geeft de inboxsync, de DM-pauze en het profiel van de eigenaar terug.
Resultaat
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"
}
}Accountinstellingen bijwerken
Wijzigt de instellingen die je meestuurt en laat de rest staan.
Bodyparameters
- sync_all_conversationsboolean
truesynchroniseert elk gesprek in de X-inbox en doorloopt de inbox nu opnieuw.falsehoudt alleen de gesprekken met leads over. - timezonestringDe IANA-tijdzone van de eigenaar, zoals
Europe/Paris. Grafieken en dagtellingen volgen deze tijdzone. - languagestringDe app-taal van de eigenaar.
enfresitderuptnlja - first_namestringDe voornaam van de eigenaar, maximaal 60 tekens.
- last_namestringDe achternaam van de eigenaar, maximaal 60 tekens.
Resultaat
Het bijgewerkte object met accountinstellingen.
Fouten
- Een parameter heeft een waarde die de API niet accepteert.
paramgeeft aan welke. - De body bevat een veld dat dit endpoint niet accepteert.
- De sessie van het X-account is verlopen. Koppel het opnieuw in de app en probeer het dan nog eens.
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"
}
}De inboxsync opnieuw starten
Doorloopt de X-inbox opnieuw vanaf het begin, om gesprekken terug te halen die Gemlead heeft gemist.
Resultaat
Het object met accountinstellingen.
Fouten
- De sessie van het X-account is verlopen. Koppel het opnieuw in de app en probeer het dan nog eens.
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"
}
}De inboxsync pauzeren
Pauzeert de sync van de X-inbox.
Resultaat
Het object met accountinstellingen.
Fouten
- De sessie van het X-account is verlopen. Koppel het opnieuw in de app en probeer het dan nog eens.
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"
}
}De inboxsync hervatten
Hervat een gepauzeerde sync van de X-inbox.
Resultaat
Het object met accountinstellingen.
Fouten
- De sessie van het X-account is verlopen. Koppel het opnieuw in de app en probeer het dan nog eens.
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"
}
}Het X Chat-object
X Chat is de versleutelde inbox van X. Gemlead leest de berichten zodra het de 4-cijferige X Chat-code van het account heeft. X Chat koppel je in de app.
Attributen
- objectstringAltijd
x_chat. - connectedboolean
trueals het account in de app aan X Chat gekoppeld is. - passcode_setboolean
trueals Gemlead de X Chat-code heeft. De code zelf wordt nooit teruggegeven. - unlockobject of nullDe ontsleuteling van de X Chat-geschiedenis na het invoeren van de code,
nullals die niet heeft plaatsgevonden.
{
"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 ophalen
Geeft terug of het account aan X Chat gekoppeld is, of Gemlead de code heeft, en hoe ver de ontsleuteling van de geschiedenis is.
Resultaat
Een X Chat-object.
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"
}
}Het coderesultaat
Wat het instellen of verwijderen van de X Chat-code teruggeeft.
Attributen
- objectstringAltijd
x_chat. - passcode_setboolean
trueals Gemlead een code bewaart. - unlockedboolean
trueals X de code accepteerde en Gemlead de versleutelde berichten kan lezen. - reasonstringAlleen als het ontgrendelen mislukte, de reden.
passcodebetekent dat X de code weigerde, en Gemlead verwijdert hem dan. - remaining_attemptsinteger of nullAlleen als het ontgrendelen mislukte, het aantal pogingen dat X nog toestaat, als X dat aangeeft.
{
"object": "x_chat",
"passcode_set": false,
"unlocked": false,
"reason": "passcode",
"remaining_attempts": 3
}De X Chat-code instellen
writeGeeft Gemlead de X Chat-code van het account en ontgrendelt daarmee de versleutelde berichten. Je kunt het 5 keer per uur proberen, X telt elke poging. Alleen via REST. Geen enkele MCP-tool stelt een code in of verwijdert hem, en dat is bewust, zodat een code nooit door een AI-chat gaat.
Bodyparameters
- passcodestringVerplichtDe X Chat-code, 4 cijfers zoals
4821.
Resultaat
Een coderesultaat, met reason en remaining_attempts als X de code weigerde.
Fouten
- Er ontbreekt een verplichte parameter.
paramgeeft aan welke. - Een parameter heeft een waarde die de API niet accepteert.
paramgeeft aan welke. - Meer dan 5 pogingen in een uur op het account.
- X of een dienst van Gemlead antwoordde niet. Er is niets veranderd, probeer het over een minuut opnieuw.
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
}De X Chat-code verwijderen
writeVerwijdert de code uit Gemlead. Nieuwe X Chat-berichten blijven versleuteld tot je hem opnieuw instelt. Alleen via REST. Geen enkele MCP-tool stelt een code in of verwijdert hem, en dat is bewust, zodat een code nooit door een AI-chat gaat.
Resultaat
Een coderesultaat, met passcode_set op false.
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
}