API-Referenz

Team

Der Inhaber eines X-Kontos kann es mit anderen Gemlead-Nutzern teilen. Jedes Mitglied arbeitet darin mit dem Tarif und den Credits des Inhabers, und seine Rolle bestimmt, was es ändern darf, Bereich für Bereich. Abrechnung und Verbindung des X-Kontos bleiben beim Inhaber.

Der Inhaber und die Admins laden Mitglieder ein und ändern sie. Nur der Inhaber macht jemanden zum Admin oder ändert einen Admin. Ein X-Konto hat höchstens 50 Mitglieder, Einladungen eingeschlossen.

Ein Mitglied, dessen Rolle die Einstellungen bearbeiten darf, kann einen eigenen API-Schlüssel erstellen oder eine KI-App verbinden. Dieser Schlüssel hat die Rechte der Rolle des Mitglieds, nie mehr, und funktioniert nicht mehr, sobald es das Team verlässt.

Das Teamobjekt

Wer in Gemlead am X-Konto arbeitet, zuerst sein Inhaber, und was der Nutzer des Schlüssels dort darf.

Attribute

  • objectstring
    Immer team.
  • account_idstring
    Die ID des X-Kontos, wie im Kontoobjekt.
  • your_rolestring
    Die Rolle des Nutzers des Schlüssels. owner für die Schlüssel des Inhabers.
    ownerviewersettereditoradmincustom
  • your_member_idstring oder null
    Der Nutzer des Schlüssels als Mitglied, null für den Inhaber.
  • ownerobject
    Der Gemlead-Nutzer, der das X-Konto verbunden hat und dafür bezahlt.
  • membersArray von objects
    Die Mitglieder und die Einladungen, als Teammitglied-Objekte.
  • max_membersinteger
    Wie viele Mitglieder ein X-Konto höchstens hat, Einladungen eingeschlossen.
Das Teamobjekt
{
  "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
}

Team abrufen

GET/v1/teamScope readMCPget_team

Gibt den Inhaber des X-Kontos zurück, dann jedes Mitglied und jede Einladung mit Rolle und Bereichen, und die Rolle des Nutzers des Schlüssels.

Rückgabe

Das Teamobjekt.

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

Das Teammitglied-Objekt

Jemand, mit dem der Inhaber das X-Konto teilt, oder eine Einladung, die noch nicht angenommen ist.

Attribute

  • idstring
    Eindeutige Kennung des Mitglieds.
  • objectstring
    Immer team_member.
  • emailstring
    Die E-Mail, an die die Einladung ging.
  • namestring oder null
    Der Name in Gemlead. Null, bis die Person dem Team beitritt.
  • profile_image_urlstring oder null
    Die URL des Profilbilds.
  • rolestring
    viewer sieht alles und ändert nichts. setter kümmert sich um Chat und Leads. editor ändert alles außer den Einstellungen. admin ändert alles und verwaltet das Team. custom ändert die Bereiche, die du wählst.
    viewersettereditoradmincustom
  • zonesobject
    Was das Mitglied ändern darf, Bereich für Bereich, jeweils view oder edit. Die Rolle legt sie fest, und custom behält die, die du wählst.
  • statusstring
    active, sobald die Person ein Gemlead-Konto mit dieser E-Mail hat, bis dahin invited.
    invitedactive
  • created_atstring
    Wann die Einladung verschickt wurde, ISO 8601.
Das Teammitglied-Objekt
{
  "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"
}

Mitglied einladen

POST/v1/team/membersScope writeMCPedit_team

Lädt jemanden per E-Mail mit einer Rolle ins Team des X-Kontos ein und schickt der Person eine E-Mail. Wer ein Gemlead-Konto mit dieser E-Mail hat, ist sofort dabei, alle anderen, sobald sie sich damit registrieren.

Body-Parameter

  • emailstringErforderlich
    Die E-Mail der Person, bis zu 200 Zeichen.
  • rolestringErforderlich
    Was das Mitglied darf. Siehe role im Teammitglied-Objekt.
    viewersettereditoradmincustom
  • zonesobject
    Nur mit der Rolle custom, was das Mitglied ändern darf, Bereich für Bereich, jeweils view oder edit. Ein fehlender Bereich ist view.

Rückgabe

Das neue Teammitglied-Objekt, mit dem Wert active in status, wenn die Person ein Gemlead-Konto hat, sonst invited.

Fehler

  • Ein Pflichtparameter fehlt. param nennt ihn.
  • Ein Parameter hat einen Wert, den die API nicht akzeptiert, etwa zones mit einer anderen Rolle als custom oder die E-Mail des Inhabers selbst. param nennt ihn.
  • Der Body enthält ein Feld, das dieser Endpoint nicht akzeptiert.
  • Der Nutzer des Schlüssels darf das Team nicht ändern. Der Inhaber und die Admins dürfen es, und nur der Inhaber ernennt oder ändert einen Admin.
  • Diese E-Mail ist schon im Team, als Mitglied oder als Einladung.
  • Das X-Konto hat schon 50 Mitglieder, Einladungen eingeschlossen.
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"
    }
  }'
Antwort200
{
  "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"
}

Mitglied ändern

PATCH/v1/team/members/:member_idScope writeMCPedit_team

Ändert die Rolle eines Mitglieds oder, Bereich für Bereich, was es ändern darf. Mit zones wird die Rolle custom, und nur die gesendeten Bereiche ändern sich.

Pfadparameter

  • member_idstringErforderlich
    Die ID des Teammitglieds.

Body-Parameter

  • rolestring
    Was das Mitglied darf. Siehe role im Teammitglied-Objekt.
    viewersettereditoradmincustom
  • zonesobject
    Die Bereiche, die sich ändern, jeweils view oder edit. Die anderen bleiben, wie sie sind.

Rückgabe

Das aktualisierte Teammitglied-Objekt.

Fehler

  • Kein Teammitglied mit dieser ID im Konto des Schlüssels.
  • Ein Parameter hat einen Wert, den die API nicht akzeptiert. param nennt ihn.
  • Der Body enthält ein Feld, das dieser Endpoint nicht akzeptiert.
  • Der Nutzer des Schlüssels darf das Team nicht ändern. Der Inhaber und die Admins dürfen es, und nur der Inhaber ernennt oder ändert einen 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"
  }'
Antwort200
{
  "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"
}

Mitglied entfernen

DELETE/v1/team/members/:member_idScope writeMCPedit_team

Entfernt ein Mitglied aus dem Team oder zieht eine Einladung zurück. Die Person verliert sofort den Zugriff auf das X-Konto.

Pfadparameter

  • member_idstringErforderlich
    Die ID des Teammitglieds.

Rückgabe

Ein Objekt mit der id des Mitglieds und dem Wert true in deleted.

Fehler

  • Kein Teammitglied mit dieser ID im Konto des Schlüssels.
  • Der Nutzer des Schlüssels darf das Team nicht ändern. Der Inhaber und die Admins dürfen es, und nur der Inhaber ernennt oder ändert einen Admin.
DELETE/v1/team/members/:member_id
curl -X DELETE \
  https://gemlead.ai/api/v1/team/members/Tm8vX2pLnC \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "id": "Tm8vX2pLnC",
  "object": "team_member",
  "deleted": true
}

Team verlassen

POST/v1/team/leaveScope writeMCPedit_team

Entfernt den Nutzer des Schlüssels aus dem Team des X-Kontos. Das geht mit dem Schlüssel eines Mitglieds, nie mit dem des Inhabers.

Rückgabe

Ein Objekt mit der id des Mitglieds und dem Wert true in deleted.

Fehler

  • Der Schlüssel gehört dem Inhaber. Der Inhaber entfernt stattdessen die Mitglieder.
POST/v1/team/leave
curl -X POST https://gemlead.ai/api/v1/team/leave \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Antwort200
{
  "id": "Tm4kQ9wZrB",
  "object": "team_member",
  "deleted": true
}