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

  • objectstring
    Sempre team.
  • account_idstring
    O ID da conta do X, como no objeto account.
  • your_rolestring
    A função do usuário da chave. owner para as chaves do dono.
    ownerviewersettereditoradmincustom
  • your_member_idstring ou null
    O usuário da chave como membro, null para o dono.
  • ownerobject
    O usuário do Gemlead que conectou a conta do X e paga por ela.
  • membersarray de objects
    Os membros e os convites, como objetos team member.
  • max_membersinteger
    Quantos membros uma conta do X tem no máximo, convites incluídos.
O objeto team
{
  "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

GET/v1/teamScope readMCPget_team

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.

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

  • idstring
    Identificador único do membro.
  • objectstring
    Sempre team_member.
  • emailstring
    O email para o qual o convite foi enviado.
  • namestring ou null
    O nome da pessoa no Gemlead. Null até ela entrar na equipe.
  • profile_image_urlstring ou null
    A URL da foto de perfil da pessoa.
  • rolestring
    viewer vê tudo e não muda nada. setter cuida do chat e dos leads. editor muda tudo menos as configurações. admin muda tudo e gerencia a equipe. custom muda as áreas que você escolher.
    viewersettereditoradmincustom
  • zonesobject
    O que o membro pode mudar, área por área, cada uma em view ou edit. A função define as áreas, e custom mantém as que você escolher.
  • statusstring
    active assim que a pessoa tem uma conta Gemlead com esse email, invited até lá.
    invitedactive
  • created_atstring
    Quando o convite foi enviado, em ISO 8601.
O objeto team member
{
  "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

POST/v1/team/membersScope writeMCPedit_team

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ório
    O email da pessoa, até 200 caracteres.
  • rolestringObrigatório
    O que o membro pode fazer. Veja role no objeto team member.
    viewersettereditoradmincustom
  • zonesobject
    Só com a função custom, o que o membro pode mudar, área por área, cada uma em view ou edit. Uma área omitida fica em view.

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. param diz qual.
  • Um parâmetro tem um valor que a API não aceita, como zones com uma função diferente de custom ou o próprio email do dono. param diz qual.
  • O corpo tem um campo que este endpoint não aceita.
  • O 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.
POST/v1/team/members
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"
    }
  }'
Resposta200
{
  "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

PATCH/v1/team/members/:member_idScope writeMCPedit_team

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ório
    O ID do membro da equipe.

Parâmetros do corpo

  • rolestring
    O que o membro pode fazer. Veja role no objeto team member.
    viewersettereditoradmincustom
  • zonesobject
    As áreas a alterar, cada uma em view ou edit. 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. param diz qual.
  • O corpo tem um campo que este endpoint não aceita.
  • O 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.
PATCH/v1/team/members/:member_id
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"
  }'
Resposta200
{
  "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

DELETE/v1/team/members/:member_idScope writeMCPedit_team

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ório
    O 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.
  • O 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.
DELETE/v1/team/members/:member_id
curl -X DELETE \
  https://gemlead.ai/api/v1/team/members/Tm8vX2pLnC \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Resposta200
{
  "id": "Tm8vX2pLnC",
  "object": "team_member",
  "deleted": true
}

Sair da equipe

POST/v1/team/leaveScope writeMCPedit_team

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

POST/v1/team/leave
curl -X POST https://gemlead.ai/api/v1/team/leave \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Resposta200
{
  "id": "Tm4kQ9wZrB",
  "object": "team_member",
  "deleted": true
}