API-referentie

Persona's

Een persona is één type koper dat je wilt bereiken, zoals tipsters of bureau-eigenaren. Gemlead vindt leads voor elke actieve persona en scoort ze op basis van de beschrijving. De bronnen van de persona bepalen waar Gemlead zoekt.

Een eigenaar met meerdere X-accounts kan een persona tussen die accounts delen. Ze werken dan met dezelfde bronnen, instellingen en leads, elk met eigen campagnes, en een lead gaat naar maar één X-account. De deelinstellingen bepalen welke X-accounts de persona delen.

Het persona-object

Een type koper dat je wilt bereiken. Gemlead zoekt leads die bij elke actieve persona passen en scoort ze op basis van die persona.

Attributen

  • idstring
    Unieke ID van de persona.
  • objectstring
    Altijd persona.
  • namestring
    De korte naam van de persona, zoals Tipsters.
  • descriptionstring
    Wie deze koper is, in je eigen woorden. De scoring is hierop gebaseerd.
  • marketstring
    Of je aan bedrijven of aan consumenten verkoopt.
    b2bb2c
  • statusstring
    Of Gemlead leads zoekt voor deze persona.
    activepaused
  • websitestring of null
    De website van wat je aan deze persona verkoopt.
  • statsobject
    Aantallen sinds de persona is gemaakt, en voor vandaag in de tijdzone van je profiel.
  • sharingobject
    De X-accounts van de eigenaar die de persona delen. Zie de deelinstellingen.
  • created_atstring
    Wanneer de persona is gemaakt, in ISO 8601.
  • updated_atstring
    Wanneer de persona voor het laatst is gewijzigd, in ISO 8601.
Het persona-object
{
  "id": "lvWBPnytpS",
  "object": "persona",
  "name": "Tipsters",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "active",
  "website": "https://example.com",
  "stats": {
    "leads_found": 18420,
    "leads_scored": 17960,
    "hot_leads": 2134,
    "avg_score": 41,
    "today": {
      "leads_found": 312,
      "hot_leads": 38,
      "dms_sent": 25,
      "replies": 4
    }
  },
  "sharing": {
    "home_account": {
      "id": "a9PzK2vRtM",
      "username": "acme"
    },
    "shared_with": [
      {
        "id": "Hq4TnW8cLm",
        "username": "acme_sales"
      }
    ]
  },
  "created_at": "2026-09-14T09:21:05.300Z",
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Persona's opvragen

GET/v1/personasScope readMCPlist_personas

Geeft je persona's terug in de volgorde van je pagina Persona's.

Queryparameters

  • limitinteger
    Hoeveel objecten je terugkrijgt, van 1 tot 100. Standaard 25.
  • cursorstring
    De next_cursor van de vorige pagina, om de pagina daarna op te halen. Zie Paginering.

Resultaat

Een lijst van persona-objecten.

GET/v1/personas
curl https://gemlead.ai/api/v1/personas \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "object": "list",
  "data": [
    {
      "id": "lvWBPnytpS",
      "object": "persona",
      "name": "Tipsters",
      "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
      "market": "b2c",
      "status": "active",
      "website": "https://example.com",
      "stats": {
        "leads_found": 18420,
        "leads_scored": 17960,
        "hot_leads": 2134,
        "avg_score": 41,
        "today": {
          "leads_found": 312,
          "hot_leads": 38,
          "dms_sent": 25,
          "replies": 4
        }
      },
      "sharing": {
        "home_account": {
          "id": "a9PzK2vRtM",
          "username": "acme"
        },
        "shared_with": [
          {
            "id": "Hq4TnW8cLm",
            "username": "acme_sales"
          }
        ]
      },
      "created_at": "2026-09-14T09:21:05.300Z",
      "updated_at": "2026-11-06T07:45:12.904Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Een persona ophalen

GET/v1/personas/:idScope readMCPget_persona

Geeft één persona terug met statistieken.

Padparameters

  • idstringVerplicht
    De ID van de persona.

Resultaat

Een persona-object.

Fouten

GET/v1/personas/:id
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "id": "lvWBPnytpS",
  "object": "persona",
  "name": "Tipsters",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "active",
  "website": "https://example.com",
  "stats": {
    "leads_found": 18420,
    "leads_scored": 17960,
    "hot_leads": 2134,
    "avg_score": 41,
    "today": {
      "leads_found": 312,
      "hot_leads": 38,
      "dms_sent": 25,
      "replies": 4
    }
  },
  "sharing": {
    "home_account": {
      "id": "a9PzK2vRtM",
      "username": "acme"
    },
    "shared_with": [
      {
        "id": "Hq4TnW8cLm",
        "username": "acme_sales"
      }
    ]
  },
  "created_at": "2026-09-14T09:21:05.300Z",
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Een persona maken

POST/v1/personasScope writeMCPcreate_persona

Maakt een persona aan en begint meteen leads te zoeken. Scoren kost maximaal 2 credits per lead: 1 voor de eerste ronde, 1 extra voor de diepe score als de lead erdoor komt, tot daily_scoring_limit leads per dag. Voeg nu of later bronnen toe met Een bron toevoegen.

Bodyparameters

  • namestringVerplicht
    De naam van de persona, een tot drie woorden zoals Ghostwriters, maximaal 100 tekens.
  • websitestring
    De website van je product, maximaal 500 tekens. De AI die leads scoort, gebruikt die.
  • descriptionstringVerplicht
    Wie deze koper is, in gewone taal. De AI geeft elke lead een score van 0 tot 100 op basis van deze tekst, dus dit veld weegt het zwaarst. Je kunt er ook je eigen scoreregels in zetten. Maximaal 12 000 tekens.
  • marketstring
    b2b als bedrijven kopen, b2c als mensen voor zichzelf kopen. Standaard b2b.
    b2bb2c
  • keywordsarray van strings
    Woorden in een profiel of de posts ervan die erop wijzen dat iemand past. Maximaal 100, elk maximaal 100 tekens.
  • competitorsarray van strings
    Producten zoals het jouwe. Wie er een gebruikt, past bij de persona. Maximaal 100.
  • avoidarray van strings
    Wie een lage score moet krijgen, zoals agencies of students. Maximaal 100.
  • min_followersinteger
    Profielen met minder volgers worden niet gescoord, 0 tot 10 000 000. Standaard 100.
  • include_closed_inboxesboolean
    Scoor ook mensen met gesloten DM's, een campagne bereikt ze met een reactie. Standaard true.
  • auto_expandboolean
    Laat Gemlead zelf bronnen toevoegen uit de beste leads als de andere bronnen opdrogen. Standaard false.
  • auto_expand_directionstring
    In welke richting Automatisch uitbreiden verder zoekt, in gewone taal zoals more US founders. Maximaal 500 tekens.
  • daily_scoring_limitinteger
    Het maximale aantal leads dat per dag voor deze persona wordt gescoord, maximaal 2 credits per lead: 1 voor de eerste ronde, 1 extra voor de diepe score als de lead erdoor komt. 100 tot 20 000. Standaard het tempo van je abonnement, 3 300 per dag met Starter en 10 000 met Business.
  • sourcesarray van objects
    Maximaal 20 startbronnen. Accounts van investeerders, accelerators en media worden geweigerd, die leveren geen kopers op.

Resultaat

Het nieuwe persona-object.

Fouten

  • Er ontbreekt een verplichte parameter. param geeft aan welke.
  • Een parameter heeft een waarde die de API niet accepteert. param geeft aan welke.
  • De body bevat een veld dat dit endpoint niet accepteert.
  • Het account heeft al 100 persona's.
  • Een startbron wordt geweigerd, zoals een investeerder of een media-account. param is sources.
POST/v1/personas
curl -X POST https://gemlead.ai/api/v1/personas \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Tipsters",
    "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
    "market": "b2c",
    "keywords": ["tipster", "betting tips"],
    "sources": [
      {
        "username": "pickswithmike"
      }
    ]
  }'
Response200
{
  "id": "lvWBPnytpS",
  "object": "persona",
  "name": "Tipsters",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "active",
  "website": "https://example.com",
  "stats": {
    "leads_found": 18420,
    "leads_scored": 17960,
    "hot_leads": 2134,
    "avg_score": 41,
    "today": {
      "leads_found": 312,
      "hot_leads": 38,
      "dms_sent": 25,
      "replies": 4
    }
  },
  "sharing": {
    "home_account": {
      "id": "a9PzK2vRtM",
      "username": "acme"
    },
    "shared_with": [
      {
        "id": "Hq4TnW8cLm",
        "username": "acme_sales"
      }
    ]
  },
  "created_at": "2026-09-14T09:21:05.300Z",
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Een persona activeren

POST/v1/personas/:persona_id/activateScope writeMCPupdate_persona

Zet een gepauzeerde persona weer aan. De bronnen worden weer gelezen en de leads weer gescoord.

Padparameters

  • persona_idstringVerplicht
    De ID van de persona.

Resultaat

Het persona-object.

Fouten

POST/v1/personas/:persona_id/activate
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/activate \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "id": "lvWBPnytpS",
  "object": "persona",
  "name": "Tipsters",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "active",
  "website": "https://example.com",
  "stats": {
    "leads_found": 18420,
    "leads_scored": 17960,
    "hot_leads": 2134,
    "avg_score": 41,
    "today": {
      "leads_found": 312,
      "hot_leads": 38,
      "dms_sent": 25,
      "replies": 4
    }
  },
  "sharing": {
    "home_account": {
      "id": "a9PzK2vRtM",
      "username": "acme"
    },
    "shared_with": [
      {
        "id": "Hq4TnW8cLm",
        "username": "acme_sales"
      }
    ]
  },
  "created_at": "2026-09-14T09:21:05.300Z",
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Een persona pauzeren

POST/v1/personas/:persona_id/pauseScope writeMCPupdate_persona

Pauzeert een persona. Gemlead stopt met het lezen van de bronnen en het scoren van de leads, en de leads blijven bestaan.

Padparameters

  • persona_idstringVerplicht
    De ID van de persona.

Resultaat

Het persona-object, met status op paused.

Fouten

POST/v1/personas/:persona_id/pause
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/pause \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "id": "lvWBPnytpS",
  "object": "persona",
  "name": "Tipsters",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "paused",
  "website": "https://example.com",
  "stats": {
    "leads_found": 18420,
    "leads_scored": 17960,
    "hot_leads": 2134,
    "avg_score": 41,
    "today": {
      "leads_found": 312,
      "hot_leads": 38,
      "dms_sent": 25,
      "replies": 4
    }
  },
  "sharing": {
    "home_account": {
      "id": "a9PzK2vRtM",
      "username": "acme"
    },
    "shared_with": [
      {
        "id": "Hq4TnW8cLm",
        "username": "acme_sales"
      }
    ]
  },
  "created_at": "2026-09-14T09:21:05.300Z",
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Een persona verwijderen

DELETE/v1/personas/:persona_idScope writeMCPdelete_persona

Verwijdert een persona met de bronnen en de leads waar geen campagne iets mee deed. De campagnes ervan worden gearchiveerd. Dit kan niet ongedaan worden gemaakt.

Padparameters

  • persona_idstringVerplicht
    De ID van de persona.

Resultaat

Een object met de id van de persona, deleted op true, en de aantallen archived_campaigns en deleted_sources. De leads worden op de achtergrond verwijderd, dus deleted_leads is null en ze kunnen nog een paar minuten in Leads opvragen verschijnen.

Fouten

DELETE/v1/personas/:persona_id
curl -X DELETE https://gemlead.ai/api/v1/personas/lvWBPnytpS \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "id": "lvWBPnytpS",
  "object": "persona",
  "deleted": true,
  "archived_campaigns": 1,
  "deleted_sources": 6,
  "deleted_leads": null
}

Volgorde van persona's wijzigen

POST/v1/personas/reorderScope writeMCPreorder_personas

Stelt de volgorde van je persona's in, zoals de app ze toont. Stuur elke persona één keer.

Bodyparameters

  • persona_idsarray van stringsVerplicht
    Alle persona-ID's van het account, in de nieuwe volgorde.

Resultaat

Een lijst van persona-objecten in de nieuwe volgorde.

Fouten

  • Er ontbreekt een verplichte parameter. param geeft aan welke.
  • Een parameter heeft een waarde die de API niet accepteert. param geeft aan welke.
  • Een ID hoort niet bij een persona van het account.
POST/v1/personas/reorder
curl -X POST https://gemlead.ai/api/v1/personas/reorder \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "persona_ids": ["lvWBPnytpS", "pQ8nX2rTjk"]
  }'
Response200
{
  "object": "list",
  "data": [
    {
      "id": "lvWBPnytpS",
      "object": "persona",
      "name": "Tipsters",
      "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
      "market": "b2c",
      "status": "active",
      "website": "https://example.com",
      "stats": {
        "leads_found": 18420,
        "leads_scored": 17960,
        "hot_leads": 2134,
        "avg_score": 41,
        "today": {
          "leads_found": 312,
          "hot_leads": 38,
          "dms_sent": 25,
          "replies": 4
        }
      },
      "sharing": {
        "home_account": {
          "id": "a9PzK2vRtM",
          "username": "acme"
        },
        "shared_with": [
          {
            "id": "Hq4TnW8cLm",
            "username": "acme_sales"
          }
        ]
      },
      "created_at": "2026-09-14T09:21:05.300Z",
      "updated_at": "2026-11-06T07:45:12.904Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Het object met persona-instellingen

Alles wat bepaalt welke leads een persona vindt en hoe de AI ze scoort, zoals je het op de pagina van de persona in de app bewerkt.

Attributen

  • objectstring
    Altijd persona_settings.
  • persona_idstring
    De ID van de persona.
  • namestring
    De naam van de persona, een tot drie woorden zoals Ghostwriters.
  • websitestring of null
    De website van je product. De AI die leads scoort, gebruikt die.
  • descriptionstring of null
    Wie deze koper is, in gewone taal. De AI geeft elke lead een score van 0 tot 100 op basis van deze tekst, dus dit veld weegt het zwaarst. Je kunt er ook je eigen scoreregels in zetten.
  • marketstring
    b2b als bedrijven kopen, b2c als mensen voor zichzelf kopen.
    b2bb2c
  • keywordsarray van strings
    Woorden in een profiel of de posts ervan die erop wijzen dat iemand past.
  • competitorsarray van strings
    Producten zoals het jouwe. Wie er een gebruikt, past bij de persona.
  • avoidarray van strings
    Wie een lage score moet krijgen, zoals agencies of students.
  • min_followersinteger
    Profielen met minder volgers worden niet gescoord.
  • include_closed_inboxesboolean
    Of mensen met gesloten DM's ook worden gescoord. Een campagne bereikt ze met een reactie.
  • auto_expandboolean
    Of Gemlead zelf bronnen toevoegt uit de beste leads als de andere bronnen opdrogen.
  • auto_expand_directionstring of null
    In welke richting Automatisch uitbreiden verder zoekt, in gewone taal, zoals more US founders.
  • daily_scoring_limitinteger
    Het maximale aantal leads dat per dag voor deze persona wordt gescoord, maximaal 2 credits per lead: 1 voor de eerste ronde, 1 extra voor de diepe score als de lead erdoor komt.
  • statusstring
    Of Gemlead er leads voor zoekt en scoort.
    activepaused
  • search_queriesarray van strings
    De zoekopdrachten van de persona.
  • competitor_accountsarray van strings
    De concurrentaccounts van de persona, X-gebruikersnamen zonder de @.
  • updated_atstring
    Wanneer de persona voor het laatst is gewijzigd, in ISO 8601.
Het object met persona-instellingen
{
  "object": "persona_settings",
  "persona_id": "lvWBPnytpS",
  "name": "Tipsters",
  "website": "https://example.com",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "active",
  "keywords": ["tipster", "betting tips", "trading signals"],
  "competitors": ["Patreon", "Whop"],
  "avoid": ["betting brands", "news accounts"],
  "min_followers": 500,
  "include_closed_inboxes": true,
  "auto_expand": false,
  "auto_expand_direction": null,
  "daily_scoring_limit": 3300,
  "search_queries": ["paid discord picks", "vip tips telegram"],
  "competitor_accounts": ["whop"],
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Instellingen van een persona ophalen

GET/v1/personas/:persona_id/settingsScope readMCPget_persona_settings

Geeft alle instellingen van een persona terug, met de zoekopdrachten en concurrentaccounts.

Padparameters

  • persona_idstringVerplicht
    De ID van de persona.

Resultaat

Een object met persona-instellingen.

Fouten

GET/v1/personas/:persona_id/settings
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "object": "persona_settings",
  "persona_id": "lvWBPnytpS",
  "name": "Tipsters",
  "website": "https://example.com",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "active",
  "keywords": ["tipster", "betting tips", "trading signals"],
  "competitors": ["Patreon", "Whop"],
  "avoid": ["betting brands", "news accounts"],
  "min_followers": 500,
  "include_closed_inboxes": true,
  "auto_expand": false,
  "auto_expand_direction": null,
  "daily_scoring_limit": 3300,
  "search_queries": ["paid discord picks", "vip tips telegram"],
  "competitor_accounts": ["whop"],
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Instellingen van een persona bijwerken

PATCH/v1/personas/:persona_id/settingsScope writeMCPupdate_persona

Wijzigt de instellingen die je meestuurt en laat de rest staan. Een lijst die je stuurt, vervangt de hele lijst. Stuur dus alle keywords met het nieuwe woord erbij om de andere te behouden.

Padparameters

  • persona_idstringVerplicht
    De ID van de persona.

Bodyparameters

  • namestring
    De naam van de persona, een tot drie woorden zoals Ghostwriters, maximaal 100 tekens.
  • websitestring
    De website van je product, maximaal 500 tekens. De AI die leads scoort, gebruikt die.
  • descriptionstring
    Wie deze koper is, in gewone taal. De AI geeft elke lead een score van 0 tot 100 op basis van deze tekst, dus dit veld weegt het zwaarst. Je kunt er ook je eigen scoreregels in zetten. Maximaal 12 000 tekens.
  • marketstring
    b2b als bedrijven kopen, b2c als mensen voor zichzelf kopen. Standaard b2b.
    b2bb2c
  • keywordsarray van strings
    Woorden in een profiel of de posts ervan die erop wijzen dat iemand past. Maximaal 100, elk maximaal 100 tekens.
  • competitorsarray van strings
    Producten zoals het jouwe. Wie er een gebruikt, past bij de persona. Maximaal 100.
  • avoidarray van strings
    Wie een lage score moet krijgen, zoals agencies of students. Maximaal 100.
  • min_followersinteger
    Profielen met minder volgers worden niet gescoord, 0 tot 10 000 000. Standaard 100.
  • include_closed_inboxesboolean
    Scoor ook mensen met gesloten DM's, een campagne bereikt ze met een reactie. Standaard true.
  • auto_expandboolean
    Laat Gemlead zelf bronnen toevoegen uit de beste leads als de andere bronnen opdrogen. Standaard false.
  • auto_expand_directionstring
    In welke richting Automatisch uitbreiden verder zoekt, in gewone taal zoals more US founders. Maximaal 500 tekens.
  • daily_scoring_limitinteger
    Het maximale aantal leads dat per dag voor deze persona wordt gescoord, maximaal 2 credits per lead: 1 voor de eerste ronde, 1 extra voor de diepe score als de lead erdoor komt. 100 tot 20 000 voor elk X-account dat de persona deelt.

Resultaat

Het bijgewerkte object met persona-instellingen.

Fouten

  • Geen persona 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.
PATCH/v1/personas/:persona_id/settings
curl -X PATCH \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "min_followers": 500,
    "avoid": ["betting brands", "news accounts"]
  }'
Response200
{
  "object": "persona_settings",
  "persona_id": "lvWBPnytpS",
  "name": "Tipsters",
  "website": "https://example.com",
  "description": "Sports and trading tipsters who sell picks or signals to a paying community.",
  "market": "b2c",
  "status": "active",
  "keywords": ["tipster", "betting tips", "trading signals"],
  "competitors": ["Patreon", "Whop"],
  "avoid": ["betting brands", "news accounts"],
  "min_followers": 500,
  "include_closed_inboxes": true,
  "auto_expand": false,
  "auto_expand_direction": null,
  "daily_scoring_limit": 3300,
  "search_queries": ["paid discord picks", "vip tips telegram"],
  "competitor_accounts": ["whop"],
  "updated_at": "2026-11-06T07:45:12.904Z"
}

Het object met deelinstellingen

De X-accounts van één eigenaar die met dezelfde persona werken. Ze delen de bronnen, instellingen, leads en uitsluitingslijst ervan, en elk account draait er eigen campagnes op. Een lead gaat naar maar één X-account, te zien aan zijn locked_to.

Attributen

  • objectstring
    Altijd persona_sharing.
  • persona_idstring
    De ID van de persona.
  • home_accountobject of null
    Het X-account waarop de persona is gemaakt. De bronnen en leads van de persona staan daar.
  • shared_witharray van objects
    De andere X-accounts die de persona delen. Leeg als de persona niet gedeeld is.
  • available_accountsarray van objects
    De andere X-accounts van de eigenaar waarmee de persona gedeeld kan worden. Altijd leeg voor een teamlid, dat het delen niet kan wijzigen.
  • daily_scoring_limitinteger
    Het maximale aantal leads dat per dag voor de persona wordt gescoord, voor de hele groep. Het kan oplopen tot 20 000 voor elk X-account dat de persona deelt.
Het object met deelinstellingen
{
  "object": "persona_sharing",
  "persona_id": "lvWBPnytpS",
  "home_account": {
    "id": "a9PzK2vRtM",
    "username": "acme"
  },
  "shared_with": [
    {
      "id": "Hq4TnW8cLm",
      "username": "acme_sales"
    }
  ],
  "available_accounts": [
    {
      "id": "Rb7YsK3dQp",
      "username": "acme_founder"
    }
  ],
  "daily_scoring_limit": 3300
}

Deelinstellingen van een persona ophalen

GET/v1/personas/:persona_id/sharingScope readMCPget_persona_sharing

Geeft terug welke X-accounts van de eigenaar een persona delen, en met welke andere accounts die nog gedeeld kan worden.

Padparameters

  • persona_idstringVerplicht
    De ID van de persona.

Resultaat

Een object met deelinstellingen.

Fouten

GET/v1/personas/:persona_id/sharing
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/sharing \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "object": "persona_sharing",
  "persona_id": "lvWBPnytpS",
  "home_account": {
    "id": "a9PzK2vRtM",
    "username": "acme"
  },
  "shared_with": [
    {
      "id": "Hq4TnW8cLm",
      "username": "acme_sales"
    }
  ],
  "available_accounts": [
    {
      "id": "Rb7YsK3dQp",
      "username": "acme_founder"
    }
  ],
  "daily_scoring_limit": 3300
}

Deelinstellingen van een persona bijwerken

PUT/v1/personas/:persona_id/sharingScope writeMCPupdate_persona_sharing

Stelt in welke andere X-accounts van de eigenaar een persona delen, vanaf elk X-account van de groep, zoals Gedeeld met in de app. Stuur de hele lijst, of een lege om te stoppen met delen. De daily_scoring_limit volgt de grootte van de groep, in hetzelfde tempo voor elk X-account. Alleen de sleutels van de eigenaar kunnen dit.

Padparameters

  • persona_idstringVerplicht
    De ID van de persona.

Bodyparameters

  • account_idsarray van stringsVerplicht
    Alle andere X-accounts van de eigenaar die de persona delen, maximaal 20. Het oorspronkelijke account houdt de persona altijd.

Resultaat

Het bijgewerkte object met deelinstellingen.

Fouten

  • Er ontbreekt een verplichte parameter. param geeft aan welke.
  • 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 sleutel is van een teamlid. Alleen de eigenaar deelt een persona.
  • Geen persona met deze ID, of een X-account dat niet van de eigenaar is. param geeft aan welke.
  • Een X-account dat je eruit haalt, heeft nog campagnes op de persona lopen. Verwijder die eerst.
PUT/v1/personas/:persona_id/sharing
curl -X PUT \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/sharing \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "account_ids": ["Hq4TnW8cLm", "Rb7YsK3dQp"]
  }'
Response200
{
  "object": "persona_sharing",
  "persona_id": "lvWBPnytpS",
  "home_account": {
    "id": "a9PzK2vRtM",
    "username": "acme"
  },
  "shared_with": [
    {
      "id": "Hq4TnW8cLm",
      "username": "acme_sales"
    },
    {
      "id": "Rb7YsK3dQp",
      "username": "acme_founder"
    }
  ],
  "available_accounts": [],
  "daily_scoring_limit": 5000
}

Het personavoorstel-object

Een persona die de AI voor je schreef op basis van een naam en je product, klaar om direct aan te maken of eerst te bewerken.

Attributen

  • objectstring
    Altijd persona_suggestion.
  • statusstring
    pending terwijl de AI schrijft, daarna ready of error. none voor het eerste request.
    pendingreadyerrornone
  • persona_namestring of null
    De naam waarvoor het voorstel is gevraagd.
  • suggestionobject of null
    Zodra het ready is, de description, keywords, competitors en avoid van de persona, de velden van Een persona maken.
  • generated_atstring of null
    Wanneer het is geschreven, in ISO 8601.
  • errorstring of null
    Wat er misging, als status error is.
Het personavoorstel-object
{
  "object": "persona_suggestion",
  "status": "ready",
  "persona_name": "Tipsters",
  "suggestion": {
    "description": "Sports and trading tipsters who sell picks or signals to a paying community on Discord or Telegram.",
    "keywords": ["tipster", "vip picks", "trading signals"],
    "competitors": ["Patreon", "Whop"],
    "avoid": ["betting brands", "sports media"]
  },
  "generated_at": "2026-11-06T07:45:12.904Z",
  "error": null
}

Een persona laten voorstellen

POST/v1/persona_suggestionsScope writeMCPsuggest_persona

Laat de AI een persona schrijven op basis van een naam en wat je verkoopt, of een beschrijving herschrijven. Dat duurt een paar seconden, dus het antwoord is pending. Lees het resultaat met Het personavoorstel ophalen.

Bodyparameters

  • persona_namestringVerplicht
    De persona die de AI moet schrijven, een tot drie woorden zoals Ghostwriters.
  • websitestring
    De website van je product. Standaard die op je X-profiel.
  • briefstring
    Wat je verkoopt en aan wie, in je eigen woorden, maximaal 1 000 tekens.
  • current_descriptionstring
    Een beschrijving om te herschrijven, samen met instruction.
  • instructionstring
    Hoe current_description moet veranderen, zoals shorter of only US agencies. Maximaal 2 000 tekens.

Resultaat

Een personavoorstel-object, met status op pending.

Fouten

  • Er ontbreekt een verplichte parameter. param geeft aan welke.
  • Een parameter heeft een waarde die de API niet accepteert. param geeft aan welke.
  • De body bevat een veld dat dit endpoint niet accepteert.
  • X of een dienst van Gemlead antwoordde niet. Er is niets veranderd, probeer het over een minuut opnieuw.
POST/v1/persona_suggestions
curl -X POST https://gemlead.ai/api/v1/persona_suggestions \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "persona_name": "Tipsters",
    "brief": "A checkout for paid Discord and Telegram groups."
  }'
Response202
{
  "object": "persona_suggestion",
  "status": "pending",
  "persona_name": "Tipsters",
  "suggestion": null,
  "generated_at": null,
  "error": null
}

Het personavoorstel ophalen

GET/v1/persona_suggestions/latestScope readMCPget_persona_suggestion

Geeft het laatste personavoorstel van het account terug. Vraag het om de paar seconden opnieuw op zolang het pending is.

Resultaat

Een personavoorstel-object.

GET/v1/persona_suggestions/latest
curl https://gemlead.ai/api/v1/persona_suggestions/latest \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Response200
{
  "object": "persona_suggestion",
  "status": "ready",
  "persona_name": "Tipsters",
  "suggestion": {
    "description": "Sports and trading tipsters who sell picks or signals to a paying community on Discord or Telegram.",
    "keywords": ["tipster", "vip picks", "trading signals"],
    "competitors": ["Patreon", "Whop"],
    "avoid": ["betting brands", "sports media"]
  },
  "generated_at": "2026-11-06T07:45:12.904Z",
  "error": null
}