APIリファレンス

Julien AI

Julien AIは、Gemleadアプリのアシスタントです。APIからは、Gemleadについての質問と、キーのXアカウント、そのリード、ペルソナ、キャンペーン、会話についての質問に答えます。回答するだけで、何かを作成、変更、送信することはありません。

chat_idなしでメッセージを送ると新しいチャットが始まり、回答のchat_idを付けて次のメッセージを送ると、そのチャットを続けられます。アクセスできるのは、このXアカウントでAPIから作成したチャットのみで、アプリのチャットにはアクセスできません。

送信すると、最大25秒間回答を待ちます。Julien AIがそれ以上の時間を必要とする場合、回答はステータスrunningで返ります。completedまたはfailedになるまで、数秒ごとに取得してください。完了までは最大150秒です。

各Xアカウントから送れるメッセージは1分あたり6件、UTCの1日あたり100件です。1つのチャットでは一度に1件、同時に3件までで、それぞれ1文字から4 000文字です。さらにJulien AIは、アプリのチャットとAPIを合わせて、ユーザーごとに1時間あたり150件まで受け付けます。

アシスタントの回答オブジェクト

Julien AIへの1件のメッセージとその回答。送信時に返され、IDでいつでも読み取れます。

属性

  • idstring
    回答の一意の識別子。rpl_に続く32文字です。
  • objectstring
    常にassistant_replyです。
  • statusstring
    Julien AIが回答を作成している間はrunning、その後はcompletedまたはfailedです。
    runningcompletedfailed
  • chat_idstringまたはnull
    メッセージのチャット。同じチャットを続けるには、次のメッセージにこの値を付けて送ります。新しいチャットの最初のメッセージの処理中はnullです。
  • messageobjectまたはnull
    チャットに保存されたあなたのメッセージ。アシスタントのメッセージオブジェクトです。ステータスがcompletedになるまではnullです。
  • replyobjectまたはnull
    Julien AIの回答。アシスタントのメッセージオブジェクトです。ステータスがcompletedになるまではnullです。
  • errorobjectまたはnull
    回答が失敗した理由。失敗していない場合はnullです。
  • created_atstring
    メッセージが送信された日時。ISO 8601形式です。
  • completed_atstringまたはnull
    回答が完了または失敗して終了した日時。ISO 8601形式です。処理中はnullです。
アシスタントの回答オブジェクト
{
  "id": "rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E",
  "object": "assistant_reply",
  "status": "completed",
  "chat_id": "Jc7Rk2WqNb",
  "message": {
    "id": "Qm4xT8vLpZ",
    "object": "assistant_message",
    "chat_id": "Jc7Rk2WqNb",
    "role": "user",
    "text": "Which persona brought the most hot leads?",
    "created_at": "2026-11-06T09:14:02.000Z"
  },
  "reply": {
    "id": "Ra9Yh3KsDw",
    "object": "assistant_message",
    "chat_id": "Jc7Rk2WqNb",
    "role": "assistant",
    "text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
    "created_at": "2026-11-06T09:14:09.000Z"
  },
  "error": null,
  "created_at": "2026-11-06T09:14:02.000Z",
  "completed_at": "2026-11-06T09:14:09.000Z"
}

メッセージを送信

POST/v1/assistant/messageswriteスコープMCPask_julien_ai

Julien AIにメッセージを送り、最大25秒間回答を待ちます。それを超えると回答はrunningで返るので、終了するまで回答を取得してください。再試行で同じ質問が二重に送られないよう、Idempotency-Keyを付けて送信してください。

ボディパラメーター

  • textstring必須
    あなたのメッセージ。1文字から4 000文字です。
  • chat_idstring
    続けるチャット。以前の回答から取得します。指定しない場合、メッセージは新しいチャットを始めます。

戻り値

アシスタントの回答オブジェクト。回答付きのcompletedか、Julien AIが25秒以上を必要とする場合はrunningです。

エラー

  • 必須パラメーターがありません。paramにその名前が入ります。
  • テキストが空か、4 000文字を超えています。paramにその名前が入ります。
  • このXアカウントでAPIから作成した、このIDのチャットはありません。アプリのチャットのIDでも同じ応答になります。
  • Julien AIが、このチャットのメッセージ、またはこのXアカウントの3件のメッセージにまだ回答中です。
  • このXアカウントから1分間に6件を超えるメッセージが送られたか、オーナー全体で1時間に150件を超えました。
  • このXアカウントからUTCの今日100件のメッセージが送られました。
  • Julien AIが利用できないか、回答できませんでした。受け取ったメッセージはチャットに残ります。
POST/v1/assistant/messages
curl -X POST https://gemlead.ai/api/v1/assistant/messages \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Which persona brought the most hot leads?"
  }'
レスポンス200
{
  "id": "rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E",
  "object": "assistant_reply",
  "status": "completed",
  "chat_id": "Jc7Rk2WqNb",
  "message": {
    "id": "Qm4xT8vLpZ",
    "object": "assistant_message",
    "chat_id": "Jc7Rk2WqNb",
    "role": "user",
    "text": "Which persona brought the most hot leads?",
    "created_at": "2026-11-06T09:14:02.000Z"
  },
  "reply": {
    "id": "Ra9Yh3KsDw",
    "object": "assistant_message",
    "chat_id": "Jc7Rk2WqNb",
    "role": "assistant",
    "text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
    "created_at": "2026-11-06T09:14:09.000Z"
  },
  "error": null,
  "created_at": "2026-11-06T09:14:02.000Z",
  "completed_at": "2026-11-06T09:14:09.000Z"
}

回答を取得

GET/v1/assistant/replies/:reply_idreadスコープMCPask_julien_ai

回答を返します。runningの間は、数秒ごとに取得してください。Julien AIの回答付きのcompleted、またはerror付きのfailedで終了します。

パスパラメーター

  • reply_idstring必須
    回答のID。

戻り値

アシスタントの回答オブジェクト。

エラー

  • キーのXアカウントに、このIDの回答はありません。
GET/v1/assistant/replies/:reply_id
curl \
  https://gemlead.ai/api/v1/assistant/replies/rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
レスポンス200
{
  "id": "rpl_7Hq2LmX9vR4tKp8WzN3cYd6FbJ1sGa5E",
  "object": "assistant_reply",
  "status": "running",
  "chat_id": "Jc7Rk2WqNb",
  "message": null,
  "reply": null,
  "error": null,
  "created_at": "2026-11-06T09:14:02.000Z",
  "completed_at": null
}

アシスタントのメッセージオブジェクト

Julien AIとのチャットの1件のメッセージ。あなたのメッセージ、またはJulien AIのメッセージです。

属性

  • idstring
    メッセージの一意の識別子。
  • objectstring
    常にassistant_messageです。
  • chat_idstring
    メッセージが属するチャット。
  • rolestring
    あなたのメッセージはuser、Julien AIのメッセージはassistantです。
    userassistant
  • textstring
    メッセージの本文。Julien AIのメッセージでは回答が入り、あなたへの質問があればそのあとに続きます。
  • created_atstring
    メッセージが送信された日時。ISO 8601形式です。
アシスタントのメッセージオブジェクト
{
  "id": "Ra9Yh3KsDw",
  "object": "assistant_message",
  "chat_id": "Jc7Rk2WqNb",
  "role": "assistant",
  "text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
  "created_at": "2026-11-06T09:14:09.000Z"
}

メッセージを一覧表示

GET/v1/assistant/messagesreadスコープ

APIから作成したJulien AIとのチャットのメッセージを、あなたのメッセージとJulien AIの回答の両方について、新しい順に返します。

クエリパラメーター

  • chat_idstring
    このチャットのメッセージのみ。デフォルトはこのXアカウントのすべてのチャットです。
  • limitinteger
    返すオブジェクトの数。1から100まで指定でき、デフォルトは25です。
  • cursorstring
    次のページを取得するための、前のページのnext_cursor。ページネーションを参照してください。

戻り値

アシスタントのメッセージオブジェクトのリスト。

エラー

  • このXアカウントでAPIから作成した、このIDのチャットはありません。アプリのチャットのIDでも同じ応答になります。
  • APIが受け付けない値のパラメーターがあります。paramにその名前が入ります。
GET/v1/assistant/messages
curl -G https://gemlead.ai/api/v1/assistant/messages \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -d chat_id=Jc7Rk2WqNb
レスポンス200
{
  "object": "list",
  "data": [
    {
      "id": "Ra9Yh3KsDw",
      "object": "assistant_message",
      "chat_id": "Jc7Rk2WqNb",
      "role": "assistant",
      "text": "Tipsters, with 38 hot leads this week out of 412 scored. Most of them follow @bettingpros.\n\nShould I compare it with last week?",
      "created_at": "2026-11-06T09:14:09.000Z"
    },
    {
      "id": "Qm4xT8vLpZ",
      "object": "assistant_message",
      "chat_id": "Jc7Rk2WqNb",
      "role": "user",
      "text": "Which persona brought the most hot leads?",
      "created_at": "2026-11-06T09:14:02.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

アシスタントのチャットオブジェクト

APIから始めたJulien AIとのチャット。

属性

  • idstring
    チャットの一意の識別子。チャット内のメッセージのchat_idです。
  • objectstring
    常にassistant_chatです。
  • titlestring
    アプリのチャットと同じ方法で付けられるチャットのタイトル。タイトルが付くまではNew chatです。
  • created_atstring
    チャットが始まった日時。ISO 8601形式です。
  • last_message_atstring
    最後のメッセージが送信された日時。ISO 8601形式です。
  • last_message_previewstring
    最後のメッセージの冒頭部分。
アシスタントのチャットオブジェクト
{
  "id": "Jc7Rk2WqNb",
  "object": "assistant_chat",
  "title": "Hot leads this week",
  "created_at": "2026-11-06T09:14:02.000Z",
  "last_message_at": "2026-11-06T09:14:09.000Z",
  "last_message_preview": "Tipsters, with 38 hot leads this week out of 412 scored."
}

チャットを一覧表示

GET/v1/assistant/chatsreadスコープ

このXアカウントでAPIから作成したJulien AIとのチャットを、最近アクティブな順に返します。

クエリパラメーター

  • limitinteger
    返すオブジェクトの数。1から100まで指定でき、デフォルトは25です。
  • cursorstring
    次のページを取得するための、前のページのnext_cursor。ページネーションを参照してください。

戻り値

アシスタントのチャットオブジェクトのリスト。

エラー

  • APIが受け付けない値のパラメーターがあります。paramにその名前が入ります。
GET/v1/assistant/chats
curl https://gemlead.ai/api/v1/assistant/chats \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
レスポンス200
{
  "object": "list",
  "data": [
    {
      "id": "Jc7Rk2WqNb",
      "object": "assistant_chat",
      "title": "Hot leads this week",
      "created_at": "2026-11-06T09:14:02.000Z",
      "last_message_at": "2026-11-06T09:14:09.000Z",
      "last_message_preview": "Tipsters, with 38 hot leads this week out of 412 scored."
    }
  ],
  "has_more": false,
  "next_cursor": null
}