Справочник API

Персоны

Персона описывает один тип покупателя, до которого вы хотите достучаться, например капперов или владельцев агентств. Gemlead ищет лидов для каждой активной персоны и оценивает их по её описанию. Её источники определяют, где Gemlead ищет.

Владелец нескольких аккаунтов X может сделать персону общей для них. Они работают с одними и теми же источниками, настройками и лидами, у каждого свои кампании, а лид достаётся только одному аккаунту X. Общий доступ к персоне задаёт, каким аккаунтам X она открыта.

Объект персоны

Тип покупателя, до которого вы хотите достучаться. Gemlead ищет лидов, подходящих каждой активной персоне, и оценивает их по ней.

Атрибуты

  • idstring
    Уникальный идентификатор персоны.
  • objectstring
    Всегда persona.
  • namestring
    Короткое название персоны, например Tipsters.
  • descriptionstring
    Кто этот покупатель, вашими словами. Скоринг опирается на это описание.
  • marketstring
    Продаёте вы бизнесу или частным лицам.
    b2bb2c
  • statusstring
    Ищет ли Gemlead лидов для этой персоны.
    activepaused
  • websitestring или null
    Сайт того, что вы продаёте этой персоне.
  • statsobject
    Счётчики с момента создания персоны и за сегодня в часовом поясе вашего профиля.
  • sharingobject
    Аккаунты X владельца, которые пользуются персоной. См. общий доступ к персоне.
  • created_atstring
    Когда создана персона, ISO 8601.
  • updated_atstring
    Время последнего изменения персоны, ISO 8601.
Объект персоны
{
  "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"
}

Список персон

GET/v1/personasПраво readMCPlist_personas

Возвращает ваши персоны в том порядке, в каком они идут на странице «Персоны».

Параметры запроса

  • limitinteger
    Сколько объектов вернуть, от 1 до 100. По умолчанию 25.
  • cursorstring
    next_cursor предыдущей страницы, чтобы получить следующую. См. раздел Пагинация.

Возвращает

Список объектов персоны.

GET/v1/personas
curl https://gemlead.ai/api/v1/personas \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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
}

Получение персоны

GET/v1/personas/:idПраво readMCPget_persona

Возвращает одну персону с её статистикой.

Параметры пути

  • idstringОбязательно
    ID персоны.

Возвращает

Объект персоны.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
GET/v1/personas/:id
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Создание персоны

POST/v1/personasПраво writeMCPcreate_persona

Создаёт персону и сразу начинает искать для неё лидов. Скоринг стоит до 2 кредита за лида: 1 за первичный отбор и ещё 1 за глубокую оценку, если лид прошёл отбор, не больше daily_scoring_limit лидов в сутки. Источники можно добавить сейчас или позже запросом Добавление источника.

Параметры тела

  • namestringОбязательно
    Название персоны, от одного до трёх слов, например Ghostwriters, до 100 символов.
  • websitestring
    Сайт вашего продукта, до 500 символов. Его читает ИИ, который оценивает лидов.
  • descriptionstringОбязательно
    Кто этот покупатель, простыми словами. ИИ оценивает по этому описанию каждого лида от 0 до 100, поэтому оно важнее всего. В него можно добавить свои правила скоринга. До 12 000 символов.
  • marketstring
    b2b, если покупают компании, b2c, если люди покупают для себя. По умолчанию b2b.
    b2bb2c
  • keywordsмассив strings
    Слова в профиле или постах, которые говорят о том, что человек подходит. До 100 слов, каждое до 100 символов.
  • competitorsмассив strings
    Продукты, похожие на ваш. Тот, кто пользуется одним из них, подходит. До 100.
  • avoidмассив strings
    Кому ставить низкую оценку, например agencies или students. До 100.
  • min_followersinteger
    Профили с меньшим числом подписчиков не оцениваются, от 0 до 10 000 000. По умолчанию 100.
  • include_closed_inboxesboolean
    Оценивать и людей с закрытыми DM, кампания доберётся до них через комментарий. По умолчанию true.
  • auto_expandboolean
    Разрешить Gemlead самому добавлять источники из лучших лидов, когда остальные иссякнут. По умолчанию false.
  • auto_expand_directionstring
    Куда дальше направить автоматическое расширение, простыми словами, например more US founders. До 500 символов.
  • daily_scoring_limitinteger
    Максимум оценённых лидов в сутки для этой персоны, до 2 кредита за лида: 1 за первичный отбор и ещё 1 за глубокую оценку, если лид прошёл отбор. От 100 до 20 000. По умолчанию темп вашего тарифа, 3 300 в сутки на Starter и 10 000 на Business.
  • sourcesмассив objects
    До 20 стартовых источников. Аккаунты инвесторов, акселераторов и СМИ отклоняются, потому что не приводят покупателей.

Возвращает

Новый объект персоны.

Ошибки

  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • В теле есть поле, которое этот эндпоинт не принимает.
  • У аккаунта уже 100 персон.
  • Стартовый источник отклонён, например аккаунт инвестора или СМИ. param равен 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"
      }
    ]
  }'
Ответ200
{
  "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"
}

Активация персоны

POST/v1/personas/:persona_id/activateПраво writeMCPupdate_persona

Снова запускает приостановленную персону. Её источники читаются, а лиды оцениваются.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Объект персоны.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
POST/v1/personas/:persona_id/activate
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/activate \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Приостановка персоны

POST/v1/personas/:persona_id/pauseПраво writeMCPupdate_persona

Приостанавливает персону. Gemlead перестаёт читать её источники и оценивать её лидов, а сами лиды остаются.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Объект персоны со status, равным paused.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
POST/v1/personas/:persona_id/pause
curl -X POST \
  https://gemlead.ai/api/v1/personas/lvWBPnytpS/pause \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Удаление персоны

DELETE/v1/personas/:persona_idПраво writeMCPdelete_persona

Удаляет персону вместе с её источниками и лидами, с которыми не работала ни одна кампания. Её кампании архивируются. Это действие нельзя отменить.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Объект с id персоны, deleted, равным true, а также числами archived_campaigns и deleted_sources. Её лиды удаляются в фоне, поэтому deleted_leads равен null, а в ответе Список лидов они могут появляться ещё несколько минут.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
DELETE/v1/personas/:persona_id
curl -X DELETE https://gemlead.ai/api/v1/personas/lvWBPnytpS \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "id": "lvWBPnytpS",
  "object": "persona",
  "deleted": true,
  "archived_campaigns": 1,
  "deleted_sources": 6,
  "deleted_leads": null
}

Изменение порядка персон

POST/v1/personas/reorderПраво writeMCPreorder_personas

Задаёт порядок ваших персон, в котором их показывает приложение. Передайте каждую персону ровно один раз.

Параметры тела

  • persona_idsмассив stringsОбязательно
    Все ID персон аккаунта в новом порядке.

Возвращает

Список объектов персоны в новом порядке.

Ошибки

  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • Один из ID не принадлежит персонам аккаунта.
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"]
  }'
Ответ200
{
  "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
}

Объект настроек персоны

Всё, что определяет, каких лидов находит персона и как ИИ их оценивает, в том виде, в каком это редактируется на странице персоны в приложении.

Атрибуты

  • objectstring
    Всегда persona_settings.
  • persona_idstring
    ID персоны.
  • namestring
    Название персоны, от одного до трёх слов, например Ghostwriters.
  • websitestring или null
    Сайт вашего продукта. Его читает ИИ, который оценивает лидов.
  • descriptionstring или null
    Кто этот покупатель, простыми словами. ИИ оценивает по этому описанию каждого лида от 0 до 100, поэтому оно важнее всего. В него можно добавить свои правила скоринга.
  • marketstring
    b2b, если покупают компании, b2c, если люди покупают для себя.
    b2bb2c
  • keywordsмассив strings
    Слова в профиле или постах, которые говорят о том, что человек подходит.
  • competitorsмассив strings
    Продукты, похожие на ваш. Тот, кто пользуется одним из них, подходит.
  • avoidмассив strings
    Кому ставить низкую оценку, например agencies или students.
  • min_followersinteger
    Профили с меньшим числом подписчиков не оцениваются.
  • include_closed_inboxesboolean
    Оцениваются ли и люди с закрытыми DM. Кампания доберётся до них через комментарий.
  • auto_expandboolean
    Добавляет ли Gemlead сам источники из лучших лидов, когда остальные иссякают.
  • auto_expand_directionstring или null
    Куда дальше направить автоматическое расширение, простыми словами, например more US founders.
  • daily_scoring_limitinteger
    Максимум оценённых лидов в сутки для этой персоны, до 2 кредита за лида: 1 за первичный отбор и ещё 1 за глубокую оценку, если лид прошёл отбор.
  • statusstring
    Ищет и оценивает ли Gemlead лидов для неё.
    activepaused
  • search_queriesмассив strings
  • competitor_accountsмассив strings
    Её аккаунты конкурентов, имена пользователей в X без @.
  • updated_atstring
    Время последнего изменения персоны, ISO 8601.
Объект настроек персоны
{
  "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"
}

Получение настроек персоны

GET/v1/personas/:persona_id/settingsПраво readMCPget_persona_settings

Возвращает все настройки персоны, с её поисками по ключевым словам и аккаунтами конкурентов.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Объект настроек персоны.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
GET/v1/personas/:persona_id/settings
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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"
}

Изменение настроек персоны

PATCH/v1/personas/:persona_id/settingsПраво writeMCPupdate_persona

Меняет переданные настройки и сохраняет остальные. Переданный список заменяет весь список целиком, поэтому, чтобы сохранить прежние слова, передайте keywords вместе с новым словом.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры тела

  • namestring
    Название персоны, от одного до трёх слов, например Ghostwriters, до 100 символов.
  • websitestring
    Сайт вашего продукта, до 500 символов. Его читает ИИ, который оценивает лидов.
  • descriptionstring
    Кто этот покупатель, простыми словами. ИИ оценивает по этому описанию каждого лида от 0 до 100, поэтому оно важнее всего. В него можно добавить свои правила скоринга. До 12 000 символов.
  • marketstring
    b2b, если покупают компании, b2c, если люди покупают для себя. По умолчанию b2b.
    b2bb2c
  • keywordsмассив strings
    Слова в профиле или постах, которые говорят о том, что человек подходит. До 100 слов, каждое до 100 символов.
  • competitorsмассив strings
    Продукты, похожие на ваш. Тот, кто пользуется одним из них, подходит. До 100.
  • avoidмассив strings
    Кому ставить низкую оценку, например agencies или students. До 100.
  • min_followersinteger
    Профили с меньшим числом подписчиков не оцениваются, от 0 до 10 000 000. По умолчанию 100.
  • include_closed_inboxesboolean
    Оценивать и людей с закрытыми DM, кампания доберётся до них через комментарий. По умолчанию true.
  • auto_expandboolean
    Разрешить Gemlead самому добавлять источники из лучших лидов, когда остальные иссякнут. По умолчанию false.
  • auto_expand_directionstring
    Куда дальше направить автоматическое расширение, простыми словами, например more US founders. До 500 символов.
  • daily_scoring_limitinteger
    Максимум оценённых лидов в сутки для этой персоны, до 2 кредита за лида: 1 за первичный отбор и ещё 1 за глубокую оценку, если лид прошёл отбор. От 100 до 20 000 на каждый аккаунт X, которому открыта персона.

Возвращает

Обновлённый объект настроек персоны.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
  • API не принимает значение параметра. Название параметра указано в param.
  • В теле есть поле, которое этот эндпоинт не принимает.
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"]
  }'
Ответ200
{
  "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"
}

Объект общего доступа к персоне

Аккаунты X одного владельца, которые работают с одной персоной. У них общие источники, настройки, лиды и список исключений, и каждый ведёт по ней свои кампании. Лид достаётся только одному аккаунту X, он указан в locked_to.

Атрибуты

  • objectstring
    Всегда persona_sharing.
  • persona_idstring
    ID персоны.
  • home_accountobject или null
    Аккаунт X, в котором создана персона. Её источники и лиды хранятся там.
  • shared_withмассив objects
    Другие аккаунты X, которым открыта персона. Пусто, если она не общая.
  • available_accountsмассив objects
    Другие аккаунты X владельца, которым можно открыть персону. Для участника команды всегда пусто, он не может менять общий доступ.
  • daily_scoring_limitinteger
    Максимум оценённых лидов в сутки для персоны на всю группу. Может доходить до 20 000 на каждый аккаунт X, которому открыта персона.
Объект общего доступа к персоне
{
  "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
}

Получение общего доступа к персоне

GET/v1/personas/:persona_id/sharingПраво readMCPget_persona_sharing

Возвращает, каким аккаунтам X владельца открыта персона и каким ещё её можно открыть.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Возвращает

Объект общего доступа к персоне.

Ошибки

  • В аккаунте ключа нет персоны с этим ID.
GET/v1/personas/:persona_id/sharing
curl https://gemlead.ai/api/v1/personas/lvWBPnytpS/sharing \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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
}

Изменение общего доступа к персоне

PUT/v1/personas/:persona_id/sharingПраво writeMCPupdate_persona_sharing

Задаёт, каким ещё аккаунтам X владельца открыта персона. Работает из любого аккаунта X группы, как Открыта для в приложении. Передайте весь список или пустой, чтобы закрыть общий доступ. daily_scoring_limit подстраивается под размер группы, с одинаковым темпом для каждого аккаунта X. Это доступно только ключам владельца.

Параметры пути

  • persona_idstringОбязательно
    ID персоны.

Параметры тела

  • account_idsмассив stringsОбязательно
    Все остальные аккаунты X владельца, которым открыта персона, до 20. Исходный аккаунт персоны сохраняет её всегда.

Возвращает

Обновлённый объект общего доступа к персоне.

Ошибки

  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • В теле есть поле, которое этот эндпоинт не принимает.
  • Ключ принадлежит участнику команды. Открыть доступ к персоне может только владелец.
  • Нет персоны с этим ID или аккаунт X не принадлежит владельцу. Название параметра указано в param.
  • У аккаунта X, который вы убираете, ещё есть кампании по этой персоне. Сначала удалите их.
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"]
  }'
Ответ200
{
  "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
}

Объект предложенной персоны

Персона, которую ИИ составил для вас по названию и вашему продукту, готовая к созданию как есть или после правки.

Атрибуты

  • objectstring
    Всегда persona_suggestion.
  • statusstring
    pending, пока ИИ пишет, затем ready или error. none до первого запроса.
    pendingreadyerrornone
  • persona_namestring или null
    Название, для которого она запрошена.
  • suggestionobject или null
    При статусе ready здесь description, keywords, competitors и avoid персоны, то есть поля запроса Создание персоны.
  • generated_atstring или null
    Время составления, ISO 8601.
  • errorstring или null
    Что пошло не так, если status равен error.
Объект предложенной персоны
{
  "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
}

Предложение персоны

POST/v1/persona_suggestionsПраво writeMCPsuggest_persona

Просит ИИ составить персону по названию и тому, что вы продаёте, или переписать описание. Это занимает несколько секунд, поэтому ответ приходит со статусом pending. Результат можно получить запросом Получение предложенной персоны.

Параметры тела

  • persona_namestringОбязательно
    Персона, которую нужно составить, от одного до трёх слов, например Ghostwriters.
  • websitestring
    Сайт вашего продукта. По умолчанию сайт из вашего профиля X.
  • briefstring
    Что вы продаёте и кому, вашими словами, до 1 000 символов.
  • current_descriptionstring
    Описание, которое нужно переписать, вместе с instruction.
  • instructionstring
    Как изменить current_description, например shorter или only US agencies. До 2 000 символов.

Возвращает

Объект предложенной персоны со status, равным pending.

Ошибки

  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • В теле есть поле, которое этот эндпоинт не принимает.
  • X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
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."
  }'
Ответ202
{
  "object": "persona_suggestion",
  "status": "pending",
  "persona_name": "Tipsters",
  "suggestion": null,
  "generated_at": null,
  "error": null
}

Получение предложенной персоны

GET/v1/persona_suggestions/latestПраво readMCPget_persona_suggestion

Возвращает последнюю предложенную персону аккаунта. Пока статус pending, запрашивайте снова каждые несколько секунд.

Возвращает

Объект предложенной персоны.

GET/v1/persona_suggestions/latest
curl https://gemlead.ai/api/v1/persona_suggestions/latest \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "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
}