Справочник API

Аккаунт

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

Объект аккаунта

Аккаунт X, которому принадлежит ключ. Ключ работает с одним аккаунтом X, и у владельца нескольких аккаунтов X для каждого свой ключ.

Атрибуты

  • objectstring
    Всегда account.
  • idstring
    Уникальный идентификатор аккаунта.
  • usernamestring
    Имя пользователя в X, без @.
  • namestring
    Отображаемое имя в X.
  • profile_image_urlstring или null
    URL фото профиля.
  • planstring
    Тариф владельца.
    businessenterprise
Объект аккаунта
{
  "object": "account",
  "id": "a9PzK2vRtM",
  "username": "acme",
  "name": "Acme",
  "profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
  "plan": "business"
}

Получение аккаунта

GET/v1/accountПраво readMCPget_account

Возвращает аккаунт X, которому принадлежит ключ. Хороший первый запрос, чтобы проверить ключ.

Возвращает

Объект аккаунта.

Ошибки

GET/v1/account
curl https://gemlead.ai/api/v1/account \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "account",
  "id": "a9PzK2vRtM",
  "username": "acme",
  "name": "Acme",
  "profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
  "plan": "business"
}

Обновление профиля X

POST/v1/account/refresh_profileПраво writeMCPupdate_account_settings

Заново читает профиль аккаунта в X, чтобы получить новое имя или фото.

Возвращает

Объект аккаунта.

Ошибки

  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
  • X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
POST/v1/account/refresh_profile
curl -X POST \
  https://gemlead.ai/api/v1/account/refresh_profile \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "account",
  "id": "a9PzK2vRtM",
  "username": "acme",
  "name": "Acme",
  "profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
  "plan": "business"
}

Объект настроек аккаунта

Как аккаунт синхронизирует входящие X, приостановлены ли его DM и профиль его владельца. Часовой пояс, язык и имя владельца общие для всех его аккаунтов X.

Атрибуты

  • objectstring
    Всегда account_settings.
  • account_idstring
    ID аккаунта.
  • syncobject
    Синхронизация входящих X с Gemlead.
  • dms_paused_untilstring или null
    Если X ограничивает аккаунт, время, когда его DM снова станут доступны, ISO 8601.
  • ownerobject
    Владелец аккаунта.
Объект настроек аккаунта
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "done",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

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

GET/v1/account/settingsПраво readMCPget_account_settings

Возвращает состояние синхронизации входящих, паузы DM и профиль владельца.

Возвращает

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

GET/v1/account/settings
curl https://gemlead.ai/api/v1/account/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "done",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

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

PATCH/v1/account/settingsПраво writeMCPupdate_account_settings

Меняет переданные настройки и сохраняет остальные.

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

  • sync_all_conversationsboolean
    true синхронизирует все диалоги входящих X и сразу запускает повторный обход. false оставляет только диалоги с лидами.
  • timezonestring
    Часовой пояс IANA владельца, например Europe/Paris. По нему строятся графики и суточные счётчики.
  • languagestring
    Язык приложения владельца.
    enfresitderuptnlja
  • first_namestring
    Имя владельца, до 60 символов.
  • last_namestring
    Фамилия владельца, до 60 символов.

Возвращает

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

Ошибки

  • API не принимает значение параметра. Название параметра указано в param.
  • В теле есть поле, которое этот эндпоинт не принимает.
  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
PATCH/v1/account/settings
curl -X PATCH https://gemlead.ai/api/v1/account/settings \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "timezone": "Europe/Paris"
  }'
Ответ200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "done",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Перезапуск синхронизации входящих

POST/v1/account/sync/restartПраво writeMCPupdate_account_settings

Заново обходит входящие X с самого начала, чтобы вернуть диалоги, которые Gemlead пропустил.

Возвращает

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

Ошибки

  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
POST/v1/account/sync/restart
curl -X POST https://gemlead.ai/api/v1/account/sync/restart \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "syncing",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Приостановка синхронизации входящих

POST/v1/account/sync/pauseПраво writeMCPupdate_account_settings

Приостанавливает синхронизацию входящих X.

Возвращает

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

Ошибки

  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
POST/v1/account/sync/pause
curl -X POST https://gemlead.ai/api/v1/account/sync/pause \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "paused",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Возобновление синхронизации входящих

POST/v1/account/sync/resumeПраво writeMCPupdate_account_settings

Возобновляет приостановленную синхронизацию входящих X.

Возвращает

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

Ошибки

  • Сессия аккаунта X истекла. Переподключите его в приложении и повторите попытку.
POST/v1/account/sync/resume
curl -X POST https://gemlead.ai/api/v1/account/sync/resume \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "account_settings",
  "account_id": "a9PzK2vRtM",
  "sync": {
    "all_conversations": true,
    "status": "syncing",
    "conversations": 1342
  },
  "dms_paused_until": null,
  "owner": {
    "first_name": "Alex",
    "last_name": "Martin",
    "timezone": "Europe/Paris",
    "language": "en"
  }
}

Объект X Chat

X Chat представляет собой зашифрованные входящие X. Gemlead читает их сообщения, когда у него есть 4-значный код X Chat аккаунта. X Chat подключается в приложении.

Атрибуты

  • objectstring
    Всегда x_chat.
  • connectedboolean
    true, если аккаунт подключён к X Chat в приложении.
  • passcode_setboolean
    true, если у Gemlead есть код X Chat. Сам код никогда не возвращается.
  • unlockobject или null
    Расшифровка истории X Chat после ввода кода, null, если она не запускалась.
Объект X Chat
{
  "object": "x_chat",
  "connected": true,
  "passcode_set": true,
  "unlock": {
    "running": false,
    "total": 214,
    "done": 214,
    "finished_at": "2026-11-06T07:58:30.000Z"
  }
}

Получение X Chat

GET/v1/account/x_chatПраво readMCPget_account_settings

Возвращает, подключён ли аккаунт к X Chat, есть ли у Gemlead его код и насколько продвинулась расшифровка истории.

Возвращает

Объект X Chat.

GET/v1/account/x_chat
curl https://gemlead.ai/api/v1/account/x_chat \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "x_chat",
  "connected": true,
  "passcode_set": true,
  "unlock": {
    "running": false,
    "total": 214,
    "done": 214,
    "finished_at": "2026-11-06T07:58:30.000Z"
  }
}

Результат ввода кода

Что возвращают установка и удаление кода X Chat.

Атрибуты

  • objectstring
    Всегда x_chat.
  • passcode_setboolean
    true, если Gemlead хранит код.
  • unlockedboolean
    true, если X принял код и Gemlead может читать зашифрованные сообщения.
  • reasonstring
    Причина, только если разблокировать не удалось. passcode означает, что X отклонил код, и Gemlead его удаляет.
  • remaining_attemptsinteger или null
    Сколько попыток ещё разрешает X, только если разблокировать не удалось и X это сообщает.
Результат ввода кода
{
  "object": "x_chat",
  "passcode_set": false,
  "unlocked": false,
  "reason": "passcode",
  "remaining_attempts": 3
}

Установка кода X Chat

PUT/v1/account/x_chat/passcodeПраво write

Передаёт Gemlead код X Chat аккаунта и разблокирует им зашифрованные сообщения. Можно сделать 5 попыток в час, X учитывает каждую. Только REST. Ни один MCP-инструмент намеренно не задаёт и не удаляет код, чтобы код никогда не проходил через чат с ИИ.

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

  • passcodestringОбязательно
    Код X Chat, 4 цифры, например 4821.

Возвращает

Результат ввода кода с reason и remaining_attempts, если X отклонил код.

Ошибки

  • Отсутствует обязательный параметр. Название параметра указано в param.
  • API не принимает значение параметра. Название параметра указано в param.
  • Больше 5 попыток в час на этом аккаунте.
  • X или сервис Gemlead не ответил. Ничего не изменилось, повторите через минуту.
PUT/v1/account/x_chat/passcode
curl -X PUT \
  https://gemlead.ai/api/v1/account/x_chat/passcode \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "passcode": "4821"
  }'
Ответ200
{
  "object": "x_chat",
  "passcode_set": true,
  "unlocked": true
}

Удаление кода X Chat

DELETE/v1/account/x_chat/passcodeПраво write

Удаляет код из Gemlead. Новые сообщения X Chat остаются зашифрованными, пока вы снова не зададите код. Только REST. Ни один MCP-инструмент намеренно не задаёт и не удаляет код, чтобы код никогда не проходил через чат с ИИ.

Возвращает

Результат ввода кода с passcode_set, равным false.

DELETE/v1/account/x_chat/passcode
curl -X DELETE \
  https://gemlead.ai/api/v1/account/x_chat/passcode \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Ответ200
{
  "object": "x_chat",
  "passcode_set": false,
  "unlocked": false
}