Referência da API
Equipe
O dono de uma conta do X pode compartilhá-la com outros usuários do Gemlead. Cada membro trabalha nela com o plano e os créditos do dono, e a função dele decide o que pode mudar, área por área. O pagamento e a conexão da conta do X ficam com o dono.
O dono e os admins convidam e alteram os membros. Só o dono torna alguém admin ou altera um admin. Uma conta do X tem no máximo 50 membros, convites incluídos.
Um membro cuja função permite editar as configurações pode criar a própria chave de API ou conectar um app de IA. Essa chave tem as permissões da função do membro, nunca mais que isso, e para de funcionar assim que ele sai da equipe.
O objeto team
Quem trabalha na conta do X no Gemlead, começando pelo dono, e o que o usuário da chave pode fazer nela.
Atributos
- objectstringSempre
team. - account_idstringO ID da conta do X, como no objeto account.
- your_rolestringA função do usuário da chave.
ownerpara as chaves do dono.ownerviewersettereditoradmincustom - your_member_idstring ou nullO usuário da chave como membro, null para o dono.
- ownerobjectO usuário do Gemlead que conectou a conta do X e paga por ela.
- membersarray de objectsOs membros e os convites, como objetos team member.
- max_membersintegerQuantos membros uma conta do X tem no máximo, convites incluídos.
{
"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
}Obter a equipe
Retorna o dono da conta do X, depois cada membro e cada convite com função e áreas, e a função do usuário da chave.
Retorno
O objeto team.
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
}O objeto team member
Alguém com quem o dono compartilha a conta do X, ou um convite ainda não aceito.
Atributos
- idstringIdentificador único do membro.
- objectstringSempre
team_member. - emailstringO email para o qual o convite foi enviado.
- namestring ou nullO nome da pessoa no Gemlead. Null até ela entrar na equipe.
- profile_image_urlstring ou nullA URL da foto de perfil da pessoa.
- rolestring
viewervê tudo e não muda nada.settercuida do chat e dos leads.editormuda tudo menos as configurações.adminmuda tudo e gerencia a equipe.custommuda as áreas que você escolher.viewersettereditoradmincustom - zonesobjectO que o membro pode mudar, área por área, cada uma em
viewouedit. A função define as áreas, ecustommantém as que você escolher. - statusstring
activeassim que a pessoa tem uma conta Gemlead com esse email,invitedaté lá.invitedactive - created_atstringQuando o convite foi enviado, em 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"
}Convidar um membro
Convida alguém para a equipe da conta do X por email, com uma função, e envia um email para a pessoa. Quem tem uma conta Gemlead com esse email entra na hora, os outros assim que se cadastram com ele.
Parâmetros do corpo
- emailstringObrigatórioO email da pessoa, até 200 caracteres.
- rolestringObrigatórioO que o membro pode fazer. Veja
roleno objeto team member.viewersettereditoradmincustom - zonesobjectSó com a função
custom, o que o membro pode mudar, área por área, cada uma emviewouedit. Uma área omitida fica emview.
Retorno
O novo objeto team member, com status em active quando a pessoa tem uma conta Gemlead, senão invited.
Erros
- Falta um parâmetro obrigatório.
paramdiz qual. - Um parâmetro tem um valor que a API não aceita, como
zonescom uma função diferente decustomou o próprio email do dono.paramdiz qual. - O corpo tem um campo que este endpoint não aceita.
- 403forbiddenO usuário da chave não pode alterar a equipe. O dono e os admins podem, e só o dono torna alguém admin ou altera um admin.
- Este email já está na equipe, como membro ou como convite.
- A conta do X já tem 50 membros, convites incluídos.
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"
}Atualizar um membro
Muda a função de um membro, ou o que ele pode mudar área por área. Enviar zones deixa a função em custom, e só mudam as áreas enviadas.
Parâmetros de caminho
- member_idstringObrigatórioO ID do membro da equipe.
Parâmetros do corpo
- rolestringO que o membro pode fazer. Veja
roleno objeto team member.viewersettereditoradmincustom - zonesobjectAs áreas a alterar, cada uma em
viewouedit. As outras ficam como estão.
Retorno
O objeto team member atualizado.
Erros
- Nenhum membro da equipe com este ID na conta da chave.
- Um parâmetro tem um valor que a API não aceita.
paramdiz qual. - O corpo tem um campo que este endpoint não aceita.
- 403forbiddenO usuário da chave não pode alterar a equipe. O dono e os admins podem, e só o dono torna alguém admin ou altera um 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"
}Remover um membro
Remove um membro da equipe, ou cancela um convite. A pessoa perde o acesso à conta do X na hora.
Parâmetros de caminho
- member_idstringObrigatórioO ID do membro da equipe.
Retorno
Um objeto com o id do membro e deleted igual a true.
Erros
- Nenhum membro da equipe com este ID na conta da chave.
- 403forbiddenO usuário da chave não pode alterar a equipe. O dono e os admins podem, e só o dono torna alguém admin ou altera um 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
}Sair da equipe
Tira o usuário da chave da equipe da conta do X. Funciona com a chave de um membro, nunca com a do dono.
Retorno
Um objeto com o id do membro e deleted igual a true.
Erros
- A chave é do dono. O dono remove os membros em vez disso.
curl -X POST https://gemlead.ai/api/v1/team/leave \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"id": "Tm4kQ9wZrB",
"object": "team_member",
"deleted": true
}