Référence API
Équipe
Le propriétaire d'un compte X peut le partager avec d'autres utilisateurs Gemlead. Chaque membre y travaille avec le plan et les crédits du propriétaire, et son rôle décide de ce qu'il peut modifier, zone par zone. La facturation et la connexion du compte X restent au propriétaire.
Le propriétaire et les admins invitent et modifient les membres. Seul le propriétaire peut nommer ou modifier un admin. Un compte X a 50 membres au plus, invitations comprises.
Un membre dont le rôle permet de modifier les réglages peut créer sa propre clé API ou connecter une app d'IA. Cette clé agit avec le rôle du membre, jamais plus, et cesse de fonctionner dès qu'il quitte l'équipe.
L'objet équipe
Qui travaille sur le compte X dans Gemlead, son propriétaire en premier, et ce que l'utilisateur de la clé peut y faire.
Attributs
- objectstringToujours
team. - account_idstringL'ID du compte X, comme dans l'objet compte.
- your_rolestringLe rôle de l'utilisateur de la clé.
ownerpour les clés du propriétaire.ownerviewersettereditoradmincustom - your_member_idstring ou nullL'utilisateur de la clé en tant que membre, null pour le propriétaire.
- ownerobjectL'utilisateur Gemlead qui a connecté le compte X et qui le paie.
- memberstableau d'objectsLes membres et les invitations, en objets membre d'équipe.
- max_membersintegerLe nombre maximum de membres d'un compte X, invitations comprises.
{
"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
}Récupérer l'équipe
Renvoie le propriétaire du compte X, puis chaque membre et chaque invitation avec son rôle et ses zones, et le rôle de l'utilisateur de la clé.
Renvoie
L'objet équipe.
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
}L'objet membre d'équipe
Une personne avec qui le propriétaire partage le compte X, ou une invitation pas encore acceptée.
Attributs
- idstringIdentifiant unique du membre.
- objectstringToujours
team_member. - emailstringL'email auquel l'invitation a été envoyée.
- namestring ou nullSon nom dans Gemlead. Null tant que la personne n'a pas rejoint l'équipe.
- profile_image_urlstring ou nullL'URL de sa photo de profil.
- rolestring
viewervoit tout et ne modifie rien.settergère le chat et les leads.editormodifie tout sauf les réglages.adminmodifie tout et gère l'équipe.custommodifie les zones que tu choisis.viewersettereditoradmincustom - zonesobjectCe que le membre peut modifier, zone par zone, chacune à
viewouedit. Le rôle les fixe, etcustomgarde celles que tu choisis. - statusstring
activedès que la personne a un compte Gemlead avec cet email,invitedjusque-là.invitedactive - created_atstringDate d'envoi de l'invitation, en 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"
}Inviter un membre
Invite quelqu'un dans l'équipe du compte X par email, avec un rôle, et lui envoie un email. Une personne qui a un compte Gemlead avec cet email rejoint l'équipe tout de suite, les autres dès leur inscription avec cet email.
Paramètres du corps
- emailstringObligatoireL'email de la personne, 200 caractères au plus.
- rolestringObligatoireCe que le membre peut faire. Voir
roledans l'objet membre d'équipe.viewersettereditoradmincustom - zonesobjectAvec le rôle
customseulement, ce que le membre peut modifier, zone par zone, chacune àviewouedit. Une zone absente vautview.
Renvoie
Le nouvel objet membre d'équipe, son status à active si la personne a un compte Gemlead, sinon invited.
Erreurs
- Il manque un paramètre obligatoire.
paramindique lequel. - Un paramètre a une valeur que l'API n'accepte pas, comme
zonesavec un autre rôle quecustomou l'email du propriétaire lui-même.paramindique lequel. - Le corps contient un champ que cet endpoint n'accepte pas.
- 403forbiddenL'utilisateur de la clé ne peut pas modifier l'équipe. Le propriétaire et les admins le peuvent, et seul le propriétaire nomme ou modifie un admin.
- Cet email est déjà dans l'équipe, comme membre ou comme invitation.
- Le compte X a déjà 50 membres, invitations comprises.
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"
}Modifier un membre
Change le rôle d'un membre, ou ce qu'il peut modifier zone par zone. Envoyer zones passe le rôle à custom, et seules les zones envoyées changent.
Paramètres de chemin
- member_idstringObligatoireL'ID du membre d'équipe.
Paramètres du corps
- rolestringCe que le membre peut faire. Voir
roledans l'objet membre d'équipe.viewersettereditoradmincustom - zonesobjectLes zones à changer, chacune à
viewouedit. Les autres ne bougent pas.
Renvoie
L'objet membre d'équipe à jour.
Erreurs
- Aucun membre d'équipe avec cet ID sur le compte de la clé.
- Un paramètre a une valeur que l'API n'accepte pas.
paramindique lequel. - Le corps contient un champ que cet endpoint n'accepte pas.
- 403forbiddenL'utilisateur de la clé ne peut pas modifier l'équipe. Le propriétaire et les admins le peuvent, et seul le propriétaire nomme ou modifie un 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"
}Retirer un membre
Retire un membre de l'équipe, ou annule une invitation. La personne perd l'accès au compte X tout de suite.
Paramètres de chemin
- member_idstringObligatoireL'ID du membre d'équipe.
Renvoie
Un objet avec l'id du membre et deleted à true.
Erreurs
- Aucun membre d'équipe avec cet ID sur le compte de la clé.
- 403forbiddenL'utilisateur de la clé ne peut pas modifier l'équipe. Le propriétaire et les admins le peuvent, et seul le propriétaire nomme ou modifie un 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
}Quitter l'équipe
Retire l'utilisateur de la clé de l'équipe du compte X. Fonctionne avec la clé d'un membre, jamais avec celle du propriétaire.
Renvoie
Un objet avec l'id du membre et deleted à true.
Erreurs
- La clé est celle du propriétaire. Le propriétaire ne quitte pas l'équipe, il en retire des membres.
curl -X POST https://gemlead.ai/api/v1/team/leave \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "Tm4kQ9wZrB",
"object": "team_member",
"deleted": true
}