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

  • objectstring
    Altijd account.
  • idstring
    Unieke ID van het account.
  • usernamestring
    De X-gebruikersnaam, zonder de @.
  • namestring
    De weergavenaam op X.
  • profile_image_urlstring of null
    De URL van de profielfoto.
  • planstring
    Het abonnement van de eigenaar.
    businessenterprise
Het accountobject
{
  "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

GET/v1/accountScope readMCPget_account

Geeft het X-account terug waar de sleutel bij hoort. Een goede eerste aanroep om een sleutel te testen.

Resultaat

Een accountobject.

Fouten

GET/v1/account
curl https://gemlead.ai/api/v1/account \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "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

POST/v1/account/refresh_profileScope writeMCPupdate_account_settings

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.
POST/v1/account/refresh_profile
curl -X POST \
  https://gemlead.ai/api/v1/account/refresh_profile \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "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

  • objectstring
    Altijd account_settings.
  • account_idstring
    De ID van het account.
  • syncobject
    De sync van de X-inbox naar Gemlead.
  • dms_paused_untilstring of null
    Zolang X het account beperkt, het moment waarop de DM's weer kunnen, in ISO 8601.
  • ownerobject
    De eigenaar van het account.
Het object met accountinstellingen
{
  "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

GET/v1/account/settingsScope readMCPget_account_settings

Geeft de inboxsync, de DM-pauze en het profiel van de eigenaar terug.

Resultaat

Een object met accountinstellingen.

GET/v1/account/settings
curl https://gemlead.ai/api/v1/account/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "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

PATCH/v1/account/settingsScope writeMCPupdate_account_settings

Wijzigt de instellingen die je meestuurt en laat de rest staan.

Bodyparameters

  • sync_all_conversationsboolean
    true synchroniseert elk gesprek in de X-inbox en doorloopt de inbox nu opnieuw. false houdt alleen de gesprekken met leads over.
  • timezonestring
    De IANA-tijdzone van de eigenaar, zoals Europe/Paris. Grafieken en dagtellingen volgen deze tijdzone.
  • languagestring
    De app-taal van de eigenaar.
    enfresitderuptnlja
  • first_namestring
    De voornaam van de eigenaar, maximaal 60 tekens.
  • last_namestring
    De achternaam van de eigenaar, maximaal 60 tekens.

Resultaat

Het bijgewerkte object met accountinstellingen.

Fouten

  • Een parameter heeft een waarde die de API niet accepteert. param geeft 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.
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"
  }'
Response200
{
  "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

POST/v1/account/sync/restartScope writeMCPupdate_account_settings

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.
POST/v1/account/sync/restart
curl -X POST https://gemlead.ai/api/v1/account/sync/restart \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "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

POST/v1/account/sync/pauseScope writeMCPupdate_account_settings

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.
POST/v1/account/sync/pause
curl -X POST https://gemlead.ai/api/v1/account/sync/pause \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "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

POST/v1/account/sync/resumeScope writeMCPupdate_account_settings

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.
POST/v1/account/sync/resume
curl -X POST https://gemlead.ai/api/v1/account/sync/resume \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "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

  • objectstring
    Altijd x_chat.
  • connectedboolean
    true als het account in de app aan X Chat gekoppeld is.
  • passcode_setboolean
    true als Gemlead de X Chat-code heeft. De code zelf wordt nooit teruggegeven.
  • unlockobject of null
    De ontsleuteling van de X Chat-geschiedenis na het invoeren van de code, null als die niet heeft plaatsgevonden.
Het X Chat-object
{
  "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

GET/v1/account/x_chatScope readMCPget_account_settings

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.

GET/v1/account/x_chat
curl https://gemlead.ai/api/v1/account/x_chat \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "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

  • objectstring
    Altijd x_chat.
  • passcode_setboolean
    true als Gemlead een code bewaart.
  • unlockedboolean
    true als X de code accepteerde en Gemlead de versleutelde berichten kan lezen.
  • reasonstring
    Alleen als het ontgrendelen mislukte, de reden. passcode betekent dat X de code weigerde, en Gemlead verwijdert hem dan.
  • remaining_attemptsinteger of null
    Alleen als het ontgrendelen mislukte, het aantal pogingen dat X nog toestaat, als X dat aangeeft.
Het coderesultaat
{
  "object": "x_chat",
  "passcode_set": false,
  "unlocked": false,
  "reason": "passcode",
  "remaining_attempts": 3
}

De X Chat-code instellen

PUT/v1/account/x_chat/passcodeScope write

Geeft 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

  • passcodestringVerplicht
    De 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. param geeft aan welke.
  • Een parameter heeft een waarde die de API niet accepteert. param geeft 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.
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"
  }'
Response200
{
  "object": "x_chat",
  "passcode_set": true,
  "unlocked": true
}

De X Chat-code verwijderen

DELETE/v1/account/x_chat/passcodeScope write

Verwijdert 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.

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