API-referentie
Team
De eigenaar van een X-account kan het delen met andere Gemlead-gebruikers. Elk lid werkt erin met het abonnement en de credits van de eigenaar, en de rol bepaalt per onderdeel wat het lid mag wijzigen. De facturering en de koppeling van het X-account blijven bij de eigenaar.
De eigenaar en de admins nodigen leden uit en wijzigen ze. Alleen de eigenaar maakt iemand admin of wijzigt een admin. Een X-account heeft maximaal 50 leden, uitnodigingen meegerekend.
Een lid met een rol die de instellingen mag bewerken, kan een eigen API-sleutel aanmaken of een AI-app koppelen. Die sleutel heeft de rechten van de rol van het lid, nooit meer, en werkt niet meer zodra het lid het team verlaat.
Het teamobject
Wie in Gemlead aan het X-account werkt, de eigenaar eerst, en wat de gebruiker van de sleutel er mag doen.
Attributen
- objectstringAltijd
team. - account_idstringDe ID van het X-account, zoals in het accountobject.
- your_rolestringDe rol van de gebruiker van de sleutel.
ownervoor de sleutels van de eigenaar.ownerviewersettereditoradmincustom - your_member_idstring of nullDe gebruiker van de sleutel als lid, null voor de eigenaar.
- ownerobjectDe Gemlead-gebruiker die het X-account heeft gekoppeld en ervoor betaalt.
- membersarray van objectsDe leden en de uitnodigingen, als teamlidobjecten.
- max_membersintegerHoeveel leden een X-account maximaal heeft, uitnodigingen meegerekend.
{
"object": "team",
"account_id": "a9PzK2vRtM",
"your_role": "owner",
"your_member_id": null,
"owner": {
"name": "Alex Moreau",
"email": "alex@acme.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg"
},
"members": [
{
"id": "Tm4kQ9wZrB",
"object": "team_member",
"email": "sara@acme.com",
"name": "Sara Kim",
"profile_image_url": "https://pbs.twimg.com/profile_images/1733920571/sara_400x400.jpg",
"role": "setter",
"zones": {
"personas": "view",
"campaigns": "view",
"chat": "edit",
"leads": "edit",
"settings": "view"
},
"status": "active",
"created_at": "2026-09-14T09:21:05.300Z"
},
{
"id": "Tm8vX2pLnC",
"object": "team_member",
"email": "dev@acme.com",
"name": null,
"profile_image_url": null,
"role": "custom",
"zones": {
"personas": "edit",
"campaigns": "view",
"chat": "view",
"leads": "edit",
"settings": "view"
},
"status": "invited",
"created_at": "2026-11-06T07:45:12.904Z"
}
],
"max_members": 50
}Het team ophalen
Geeft de eigenaar van het X-account terug, dan elk lid en elke uitnodiging met rol en onderdelen, en de rol van de gebruiker van de sleutel.
Resultaat
Het teamobject.
curl https://gemlead.ai/api/v1/team \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "team",
"account_id": "a9PzK2vRtM",
"your_role": "owner",
"your_member_id": null,
"owner": {
"name": "Alex Moreau",
"email": "alex@acme.com",
"profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg"
},
"members": [
{
"id": "Tm4kQ9wZrB",
"object": "team_member",
"email": "sara@acme.com",
"name": "Sara Kim",
"profile_image_url": "https://pbs.twimg.com/profile_images/1733920571/sara_400x400.jpg",
"role": "setter",
"zones": {
"personas": "view",
"campaigns": "view",
"chat": "edit",
"leads": "edit",
"settings": "view"
},
"status": "active",
"created_at": "2026-09-14T09:21:05.300Z"
},
{
"id": "Tm8vX2pLnC",
"object": "team_member",
"email": "dev@acme.com",
"name": null,
"profile_image_url": null,
"role": "custom",
"zones": {
"personas": "edit",
"campaigns": "view",
"chat": "view",
"leads": "edit",
"settings": "view"
},
"status": "invited",
"created_at": "2026-11-06T07:45:12.904Z"
}
],
"max_members": 50
}Het teamlidobject
Iemand met wie de eigenaar het X-account deelt, of een uitnodiging die nog niet is aangenomen.
Attributen
- idstringUnieke ID van het lid.
- objectstringAltijd
team_member. - emailstringHet e-mailadres waar de uitnodiging naartoe ging.
- namestring of nullDe naam in Gemlead. Null tot de persoon bij het team komt.
- profile_image_urlstring of nullDe URL van de profielfoto.
- rolestring
viewerziet alles en wijzigt niets.setterwerkt in de chat en met de leads.editorwijzigt alles behalve de instellingen.adminwijzigt alles en beheert het team.customwijzigt de onderdelen die je kiest.viewersettereditoradmincustom - zonesobjectWat het lid per onderdeel mag wijzigen, elk
viewofedit. De rol bepaalt ze, en bijcustomgelden de onderdelen die je kiest. - statusstring
activezodra de persoon een Gemlead-account op dit e-mailadres heeft, tot daninvited.invitedactive - created_atstringWanneer de uitnodiging is verstuurd, in ISO 8601.
{
"id": "Tm4kQ9wZrB",
"object": "team_member",
"email": "sara@acme.com",
"name": "Sara Kim",
"profile_image_url": "https://pbs.twimg.com/profile_images/1733920571/sara_400x400.jpg",
"role": "setter",
"zones": {
"personas": "view",
"campaigns": "view",
"chat": "edit",
"leads": "edit",
"settings": "view"
},
"status": "active",
"created_at": "2026-09-14T09:21:05.300Z"
}Een lid uitnodigen
Nodigt iemand met een rol uit voor het team van het X-account en stuurt die persoon een e-mail. Heeft iemand al een Gemlead-account met dit e-mailadres, dan doet die meteen mee, anderen zodra ze zich met dit adres aanmelden.
Bodyparameters
- emailstringVerplichtHet e-mailadres van de persoon, maximaal 200 tekens.
- rolestringVerplichtWat het lid mag doen. Zie
rolein het teamlidobject.viewersettereditoradmincustom - zonesobjectAlleen met de rol
custom, wat het lid per onderdeel mag wijzigen, elkviewofedit. Een ontbrekend onderdeel krijgtview.
Resultaat
Het nieuwe teamlidobject, met status op active als de persoon een Gemlead-account heeft, anders invited.
Fouten
- Er ontbreekt een verplichte parameter.
paramgeeft aan welke. - Een parameter heeft een waarde die de API niet accepteert, zoals
zonesmet een andere rol dancustomof het e-mailadres van de eigenaar zelf.paramgeeft aan welke. - De body bevat een veld dat dit endpoint niet accepteert.
- 403forbiddenDe gebruiker van de sleutel mag het team niet wijzigen. De eigenaar en de admins mogen dat, en alleen de eigenaar benoemt of wijzigt een admin.
- Dit e-mailadres zit al in het team, als lid of als uitnodiging.
- Het X-account heeft al 50 leden, uitnodigingen meegerekend.
curl -X POST https://gemlead.ai/api/v1/team/members \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"email": "dev@acme.com",
"role": "custom",
"zones": {
"personas": "edit",
"leads": "edit"
}
}'{
"id": "Tm8vX2pLnC",
"object": "team_member",
"email": "dev@acme.com",
"name": null,
"profile_image_url": null,
"role": "custom",
"zones": {
"personas": "edit",
"campaigns": "view",
"chat": "view",
"leads": "edit",
"settings": "view"
},
"status": "invited",
"created_at": "2026-11-06T07:45:12.904Z"
}Een lid bijwerken
Wijzigt de rol van een lid, of wat het lid per onderdeel mag wijzigen. Met zones wordt de rol custom, en alleen de onderdelen die je meestuurt veranderen.
Padparameters
- member_idstringVerplichtDe ID van het teamlid.
Bodyparameters
- rolestringWat het lid mag doen. Zie
rolein het teamlidobject.viewersettereditoradmincustom - zonesobjectDe onderdelen die veranderen, elk
viewofedit. De andere blijven zoals ze zijn.
Resultaat
Het bijgewerkte teamlidobject.
Fouten
- Geen teamlid met deze ID op het account van de sleutel.
- Een parameter heeft een waarde die de API niet accepteert.
paramgeeft aan welke. - De body bevat een veld dat dit endpoint niet accepteert.
- 403forbiddenDe gebruiker van de sleutel mag het team niet wijzigen. De eigenaar en de admins mogen dat, en alleen de eigenaar benoemt of wijzigt een admin.
curl -X PATCH \
https://gemlead.ai/api/v1/team/members/Tm4kQ9wZrB \
-H "Authorization: Bearer $GEMLEAD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"role": "editor"
}'{
"id": "Tm4kQ9wZrB",
"object": "team_member",
"email": "sara@acme.com",
"name": "Sara Kim",
"profile_image_url": "https://pbs.twimg.com/profile_images/1733920571/sara_400x400.jpg",
"role": "editor",
"zones": {
"personas": "edit",
"campaigns": "edit",
"chat": "edit",
"leads": "edit",
"settings": "view"
},
"status": "active",
"created_at": "2026-09-14T09:21:05.300Z"
}Een lid verwijderen
Verwijdert een lid uit het team, of trekt een uitnodiging in. De persoon verliest meteen de toegang tot het X-account.
Padparameters
- member_idstringVerplichtDe ID van het teamlid.
Resultaat
Een object met de id van het lid en deleted op true.
Fouten
- Geen teamlid met deze ID op het account van de sleutel.
- 403forbiddenDe gebruiker van de sleutel mag het team niet wijzigen. De eigenaar en de admins mogen dat, en alleen de eigenaar benoemt of wijzigt een admin.
curl -X DELETE \
https://gemlead.ai/api/v1/team/members/Tm8vX2pLnC \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "Tm8vX2pLnC",
"object": "team_member",
"deleted": true
}Het team verlaten
Haalt de gebruiker van de sleutel uit het team van het X-account. Dit werkt met de sleutel van een lid, nooit met die van de eigenaar.
Resultaat
Een object met de id van het lid en deleted op true.
Fouten
- De sleutel is van de eigenaar. De eigenaar verwijdert in plaats daarvan de leden.
curl -X POST https://gemlead.ai/api/v1/team/leave \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "Tm4kQ9wZrB",
"object": "team_member",
"deleted": true
}