APIリファレンス
アカウント
アカウントとは、キーが属するXアカウントのことです。キーの確認、設定の変更、Xの受信トレイの同期のやり直し、GemleadへのX Chatのパスコードの登録に使います。オーナーのタイムゾーン、言語、名前は、オーナーのすべてのXアカウントで共通です。
アカウントオブジェクト
キーが属するXアカウント。キーは1つのXアカウントでのみ使え、複数のXアカウントを持つオーナーはそれぞれにキーを用意します。
属性
- objectstring常に
accountです。 - idstringアカウントの一意の識別子。
- usernamestringXのユーザー名。@は含みません。
- namestringXでの表示名。
- 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"
}アカウントを取得
キーが属するXアカウントを返します。キーの動作確認として、最初に呼び出すのに適しています。
戻り値
エラー
- キーが正しくありません。
- アカウントのオーナーがFreeプランかStarterプランを利用しています。
curl https://gemlead.ai/api/v1/account \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "account",
"id": "a9PzK2vRtM",
"username": "acme",
"name": "Acme",
"profile_image_url": "https://pbs.twimg.com/profile_images/1180044592/acme_400x400.jpg",
"plan": "business"
}Xプロフィールを再読み込み
アカウントのXプロフィールを読み直し、新しい名前や写真を反映します。
戻り値
エラー
- Xアカウントのセッションの有効期限が切れています。アプリで再接続してから、もう一度お試しください。
- XまたはGemleadのサービスが応答しませんでした。何も変更されていないので、1分後にもう一度お試しください。
curl -X POST \
https://gemlead.ai/api/v1/account/refresh_profile \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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。
- syncobjectXの受信トレイからGemleadへの同期。
- dms_paused_untilstringまたはnullXがアカウントのDMを制限している間、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"
}
}curl https://gemlead.ai/api/v1/account/settings \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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"
}
}アカウント設定を更新
送信した設定だけを変更し、ほかの設定はそのまま残します。
ボディパラメーター
- sync_all_conversationsboolean
trueにするとXの受信トレイのすべての会話を同期し、すぐに受信トレイ全体を読み直します。falseにするとリードとの会話のみを残します。 - timezonestring
Europe/Parisのような、オーナーのIANAタイムゾーン。グラフと日別の集計はこのタイムゾーンに従います。 - languagestringオーナーのアプリの言語。
enfresitderuptnlja - first_namestringオーナーの名。60文字までです。
- last_namestringオーナーの姓。60文字までです。
戻り値
更新されたアカウント設定オブジェクト。
エラー
- APIが受け付けない値のパラメーターがあります。
paramにその名前が入ります。 - ボディに、このエンドポイントが受け付けないフィールドがあります。
- Xアカウントのセッションの有効期限が切れています。アプリで再接続してから、もう一度お試しください。
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"
}'{
"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"
}
}受信トレイを再同期
Gemleadが取りこぼした会話を取り戻すため、Xの受信トレイを最初から読み直します。
戻り値
エラー
- Xアカウントのセッションの有効期限が切れています。アプリで再接続してから、もう一度お試しください。
curl -X POST https://gemlead.ai/api/v1/account/sync/restart \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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"
}
}curl -X POST https://gemlead.ai/api/v1/account/sync/pause \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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"
}
}curl -X POST https://gemlead.ai/api/v1/account/sync/resume \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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の暗号化された受信トレイです。アカウントの4桁のX Chatパスコードを受け取ると、Gemleadはそのメッセージを読めるようになります。X Chatの接続はアプリで行います。
属性
- objectstring常に
x_chatです。 - connectedbooleanアプリでアカウントがX Chatに接続されている場合は
true。 - passcode_setbooleanGemleadがX Chatのパスコードを保持している場合は
true。パスコード自体が返ることはありません。 - unlockobjectまたはnullパスコード登録後のX Chat履歴の復号。実行されていない場合は
nullです。
{
"object": "x_chat",
"connected": true,
"passcode_set": true,
"unlock": {
"running": false,
"total": 214,
"done": 214,
"finished_at": "2026-11-06T07:58:30.000Z"
}
}curl https://gemlead.ai/api/v1/account/x_chat \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"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_setbooleanGemleadがパスコードを保持している場合は
true。 - unlockedbooleanXがパスコードを受け入れ、Gemleadが暗号化されたメッセージを読める場合は
true。 - reasonstringロックを解除できなかった場合のみ、その理由を示します。
passcodeはXがパスコードを拒否したことを意味し、Gemleadはそのパスコードを削除します。 - remaining_attemptsintegerまたはnullロックを解除できなかった場合のみ、Xがまだ許可している残りの試行回数を示します。Xが回数を返した場合に限ります。
{
"object": "x_chat",
"passcode_set": false,
"unlocked": false,
"reason": "passcode",
"remaining_attempts": 3
}X Chatのパスコードを設定
writeスコープアカウントのX ChatパスコードをGemleadに渡し、それを使って暗号化されたメッセージのロックを解除します。試行は1時間に5回までで、Xはすべての試行をカウントします。REST専用です。パスコードがAIチャットを経由しないよう、パスコードを設定または削除するMCPツールはあえて用意していません。
ボディパラメーター
- passcodestring必須X Chatのパスコード。
4821のような4桁の数字です。
戻り値
パスコードの結果。Xがパスコードを拒否した場合はreasonとremaining_attemptsを含みます。
エラー
- 必須パラメーターがありません。
paramにその名前が入ります。 - APIが受け付けない値のパラメーターがあります。
paramにその名前が入ります。 - このアカウントで1時間に5回を超えて試行されました。
- XまたはGemleadのサービスが応答しませんでした。何も変更されていないので、1分後にもう一度お試しください。
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"
}'{
"object": "x_chat",
"passcode_set": true,
"unlocked": true
}X Chatのパスコードを削除
writeスコープGemleadからパスコードを削除します。新しいX Chatのメッセージは、再びパスコードを設定するまで暗号化されたままです。REST専用です。パスコードがAIチャットを経由しないよう、パスコードを設定または削除するMCPツールはあえて用意していません。
戻り値
passcode_setがfalseのパスコードの結果。
curl -X DELETE \
https://gemlead.ai/api/v1/account/x_chat/passcode \
-H "Authorization: Bearer $GEMLEAD_API_KEY"{
"object": "x_chat",
"passcode_set": false,
"unlocked": false
}