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

  • objectstring
    Altijd team.
  • account_idstring
    De ID van het X-account, zoals in het accountobject.
  • your_rolestring
    De rol van de gebruiker van de sleutel. owner voor de sleutels van de eigenaar.
    ownerviewersettereditoradmincustom
  • your_member_idstring of null
    De gebruiker van de sleutel als lid, null voor de eigenaar.
  • ownerobject
    De Gemlead-gebruiker die het X-account heeft gekoppeld en ervoor betaalt.
  • membersarray van objects
    De leden en de uitnodigingen, als teamlidobjecten.
  • max_membersinteger
    Hoeveel leden een X-account maximaal heeft, uitnodigingen meegerekend.
Het teamobject
{
  "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

GET/v1/teamScope readMCPget_team

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.

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

  • idstring
    Unieke ID van het lid.
  • objectstring
    Altijd team_member.
  • emailstring
    Het e-mailadres waar de uitnodiging naartoe ging.
  • namestring of null
    De naam in Gemlead. Null tot de persoon bij het team komt.
  • profile_image_urlstring of null
    De URL van de profielfoto.
  • rolestring
    viewer ziet alles en wijzigt niets. setter werkt in de chat en met de leads. editor wijzigt alles behalve de instellingen. admin wijzigt alles en beheert het team. custom wijzigt de onderdelen die je kiest.
    viewersettereditoradmincustom
  • zonesobject
    Wat het lid per onderdeel mag wijzigen, elk view of edit. De rol bepaalt ze, en bij custom gelden de onderdelen die je kiest.
  • statusstring
    active zodra de persoon een Gemlead-account op dit e-mailadres heeft, tot dan invited.
    invitedactive
  • created_atstring
    Wanneer de uitnodiging is verstuurd, in ISO 8601.
Het teamlidobject
{
  "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

POST/v1/team/membersScope writeMCPedit_team

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

  • emailstringVerplicht
    Het e-mailadres van de persoon, maximaal 200 tekens.
  • rolestringVerplicht
    Wat het lid mag doen. Zie role in het teamlidobject.
    viewersettereditoradmincustom
  • zonesobject
    Alleen met de rol custom, wat het lid per onderdeel mag wijzigen, elk view of edit. Een ontbrekend onderdeel krijgt view.

Resultaat

Het nieuwe teamlidobject, met status op active als de persoon een Gemlead-account heeft, anders invited.

Fouten

  • Er ontbreekt een verplichte parameter. param geeft aan welke.
  • Een parameter heeft een waarde die de API niet accepteert, zoals zones met een andere rol dan custom of het e-mailadres van de eigenaar zelf. param geeft aan welke.
  • De body bevat een veld dat dit endpoint niet accepteert.
  • De 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.
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"
    }
  }'
Response200
{
  "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

PATCH/v1/team/members/:member_idScope writeMCPedit_team

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_idstringVerplicht
    De ID van het teamlid.

Bodyparameters

  • rolestring
    Wat het lid mag doen. Zie role in het teamlidobject.
    viewersettereditoradmincustom
  • zonesobject
    De onderdelen die veranderen, elk view of edit. 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. param geeft aan welke.
  • De body bevat een veld dat dit endpoint niet accepteert.
  • De 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.
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"
  }'
Response200
{
  "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

DELETE/v1/team/members/:member_idScope writeMCPedit_team

Verwijdert een lid uit het team, of trekt een uitnodiging in. De persoon verliest meteen de toegang tot het X-account.

Padparameters

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

Het team verlaten

POST/v1/team/leaveScope writeMCPedit_team

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.
POST/v1/team/leave
curl -X POST https://gemlead.ai/api/v1/team/leave \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "id": "Tm4kQ9wZrB",
  "object": "team_member",
  "deleted": true
}