プライバシー設定

必須機能

セキュリティとサイトの基本機能に必要です。

常に有効

任意の利用状況解析

PostHogの利用状況解析を許可しますか?フッターでいつでも変更できます。

この公開サイトでのセッションリプレイも許可する

リプレイには公開ページと操作が表示され、入力内容や非公開コンテンツはマスクされます。Appのリプレイは別途選択します。

分析の有効化が必要です。ウェブサイトのリプレイは初期設定でオフです。

ブラウザーの分析設定でアカウントの分析が有効になることはありません。

検索は使用時のみ読み込みます。以下ですべてのカテゴリを閲覧できます。

研究と引用付きブリーフ

引用付き研究分析の状態を読む

単一の会話・実行の分析状態と信頼できない引用付き出力を読みます。再生成は行いません。agent:research が必要です。

POST /research-api/assistant/status

契約確認日: · sha256:ab393e91e9b7f18a

概要

単一の会話・実行の分析状態と信頼できない引用付き出力を読みます。再生成は行いません。agent:research が必要です。

HTTP成功は完了ではなく受理の場合があります。バックグラウンド処理はIDを保存し、同じ処理を完了まで確認します。予約・受理された投稿はプラットフォーム確認後のみ公開済みです。タイムアウトだけでは結果を判断できません。

認証と権限

受け付ける認証情報の種類
user_session, delegated_oauth, personal_access_token
委任された機能権限
agent:research
ワークスペースの最低ロール
viewer
アクセス範囲
このユーザーがアクセスを許可されたリソース
すべてのワークスペースへの同意が必要
いいえ
状態を変更
いいえ
操作完了時
current run state; completed result requires current sources and authority

トークンは所有者の権利内でのみ使えます。各要求で所属、リソース所有権、選択ワークスペース、付与機能を確認します。coreとfullは表示だけを変え、アクセスは付与しません。

リクエストのフィールド

必須とは、親オブジェクトと選択分岐内で必須という意味です。必須の子があっても任意の親は必須になりません。以下のルールとフィールド名は契約から転記しています。

リクエストのフィールド
フィールド/分岐型/必須制約
$object親要素内で必須
  • additionalProperties: false
workspace_idstring親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
conversation_idstring親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
run_idstring親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
完全なJSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "conversation_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    },
    "run_id": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "workspace_id",
    "conversation_id",
    "run_id"
  ],
  "additionalProperties": false
}

レスポンスと完了条件

成功時のHTTPステータス: 200. 操作完了時: current run state; completed result requires current sources and authority.

HTTP成功は完了ではなく受理の場合があります。バックグラウンド処理はIDを保存し、同じ処理を完了まで確認します。予約・受理された投稿はプラットフォーム確認後のみ公開済みです。タイムアウトだけでは結果を判断できません。

必須とは、親オブジェクトと選択分岐内で必須という意味です。必須の子があっても任意の親は必須になりません。以下のルールとフィールド名は契約から転記しています。

レスポンスと完了条件
フィールド/分岐型/必須制約
$object親要素内で必須—
runobject親要素内で必須—
run.idstring親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
run.workspace_idstring親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
run.conversation_idstring親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
run.conversation_revisioninteger親要素内で必須
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
run.generationinteger親要素内で必須
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
run.request_kindstring親要素内で必須
  • enum: ["question","overview","themes","audiences","sentiment","query_suggestions"]
run.statusstring親要素内で必須
  • enum: ["queued","processing","completed","failed","cancelled","expired","unavailable"]
run.failure_codestring | null親要素内で必須—
run.failure_codeanyOf 1string親要素内で必須
  • enum: ["not_configured","budget_exhausted","access_changed","source_unavailable","context_changed","input_too_large","provider_unavailable","generation_unconfirmed","invalid_output","cancelled","expired","conversation_full"]
run.failure_codeanyOf 2null親要素内で必須—
run.created_atstring親要素内で必須
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
run.expires_atstring親要素内で必須
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
run.processorstring親要素内で必須
  • const: "Google Gemini"
run.model_idstring | null親要素内で必須—
run.model_idanyOf 1string親要素内で必須
  • maxLength: 128
run.model_idanyOf 2null親要素内で必須—
run.model_versionstring | null親要素内で必須—
run.model_versionanyOf 1string親要素内で必須
  • maxLength: 128
run.model_versionanyOf 2null親要素内で必須—
messageobject | null親要素内で必須—
messageanyOf 1object親要素内で必須—
message.idanyOf 1string親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
message.run_idanyOf 1string親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
message.roleanyOf 1string親要素内で必須
  • enum: ["user","assistant"]
message.questionanyOf 1string | null親要素内で必須—
message.questionanyOf 1 / anyOf 1string親要素内で必須
  • maxLength: 2000
message.questionanyOf 1 / anyOf 2null親要素内で必須—
message.answeranyOf 1object | null親要素内で必須—
message.answeranyOf 1 / anyOf 1object親要素内で必須—
message.answer.answeranyOf 1 / anyOf 1object親要素内で必須—
message.answer.answer.statementanyOf 1 / anyOf 1string親要素内で必須
  • minLength: 1
  • maxLength: 2000
message.answer.answer.basisanyOf 1 / anyOf 1string親要素内で必須
  • enum: ["observed","inferred","generated"]
message.answer.answer.evidenceanyOf 1 / anyOf 1array親要素内で必須
  • minItems: 1
  • maxItems: 20
message.answer.answer.evidence[]anyOf 1 / anyOf 1object任意/項目—
message.answer.answer.evidence[].evidence_idanyOf 1 / anyOf 1string親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
message.answer.answer.evidence[].revisionanyOf 1 / anyOf 1integer親要素内で必須
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
message.answer.answer.uncertaintyanyOf 1 / anyOf 1string親要素内で必須
  • maxLength: 1000
message.answer.findingsanyOf 1 / anyOf 1array親要素内で必須
  • maxItems: 12
message.answer.findings[]anyOf 1 / anyOf 1object任意/項目—
message.answer.findings[].statementanyOf 1 / anyOf 1string親要素内で必須
  • minLength: 1
  • maxLength: 2000
message.answer.findings[].basisanyOf 1 / anyOf 1string親要素内で必須
  • enum: ["observed","inferred","generated"]
message.answer.findings[].evidenceanyOf 1 / anyOf 1array親要素内で必須
  • minItems: 1
  • maxItems: 20
message.answer.findings[].evidence[]anyOf 1 / anyOf 1object任意/項目—
message.answer.findings[].evidence[].evidence_idanyOf 1 / anyOf 1string親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
message.answer.findings[].evidence[].revisionanyOf 1 / anyOf 1integer親要素内で必須
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
message.answer.findings[].uncertaintyanyOf 1 / anyOf 1string親要素内で必須
  • maxLength: 1000
message.answer.sentimentanyOf 1 / anyOf 1array親要素内で必須
  • maxItems: 20
message.answer.sentiment[]anyOf 1 / anyOf 1object任意/項目—
message.answer.sentiment[].evidence_idanyOf 1 / anyOf 1string親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
message.answer.sentiment[].revisionanyOf 1 / anyOf 1integer親要素内で必須
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
message.answer.sentiment[].labelanyOf 1 / anyOf 1string親要素内で必須
  • enum: ["positive","negative","neutral","mixed","unknown"]
message.answer.sentiment[].uncertaintyanyOf 1 / anyOf 1string親要素内で必須
  • maxLength: 1000
message.answer.query_suggestionsanyOf 1 / anyOf 1array親要素内で必須
  • maxItems: 5
message.answer.query_suggestions[]anyOf 1 / anyOf 1object任意/項目—
message.answer.query_suggestions[].queryanyOf 1 / anyOf 1string親要素内で必須
  • minLength: 1
  • maxLength: 2000
message.answer.query_suggestions[].excluded_termsanyOf 1 / anyOf 1array親要素内で必須
  • maxItems: 20
message.answer.query_suggestions[].excluded_terms[]anyOf 1 / anyOf 1string任意/項目
  • minLength: 1
  • maxLength: 100
message.answer.query_suggestions[].evidenceanyOf 1 / anyOf 1array親要素内で必須
  • minItems: 1
  • maxItems: 20
message.answer.query_suggestions[].evidence[]anyOf 1 / anyOf 1object任意/項目—
message.answer.query_suggestions[].evidence[].evidence_idanyOf 1 / anyOf 1string親要素内で必須
  • format: "uuid"
  • pattern: "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
message.answer.query_suggestions[].evidence[].revisionanyOf 1 / anyOf 1integer親要素内で必須
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
message.answer.query_suggestions[].rationaleanyOf 1 / anyOf 1string親要素内で必須
  • minLength: 1
  • maxLength: 1000
message.answer.limitationsanyOf 1 / anyOf 1array親要素内で必須
  • minItems: 1
  • maxItems: 10
message.answer.limitations[]anyOf 1 / anyOf 1string任意/項目
  • minLength: 1
  • maxLength: 1000
message.answer.quantitative_claimsanyOf 1 / anyOf 1boolean親要素内で必須
  • const: false
message.answer.method_versionanyOf 1 / anyOf 1string親要素内で必須
  • const: "research-cited/v1"
message.answeranyOf 1 / anyOf 2null親要素内で必須—
message.created_atanyOf 1string親要素内で必須
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
message.expires_atanyOf 1string親要素内で必須
  • format: "date-time"
  • pattern: "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
messageanyOf 2null親要素内で必須—
conversation_revisioninteger親要素内で必須
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
availabilityobject親要素内で必須—
availability.configuredboolean親要素内で必須—
availability.reasonstring | null親要素内で必須—
availability.reasonanyOf 1string親要素内で必須
  • enum: ["not_configured","budget_exhausted","access_changed","source_unavailable","context_changed","input_too_large","provider_unavailable","generation_unconfirmed","invalid_output","cancelled","expired","conversation_full"]
availability.reasonanyOf 2null親要素内で必須—
availability.processorstring親要素内で必須
  • const: "Google Gemini"
availability.retention_hoursnumber親要素内で必須
  • const: 24
完全なJSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "run": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "conversation_id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "conversation_revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "generation": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "request_kind": {
          "type": "string",
          "enum": [
            "question",
            "overview",
            "themes",
            "audiences",
            "sentiment",
            "query_suggestions"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "queued",
            "processing",
            "completed",
            "failed",
            "cancelled",
            "expired",
            "unavailable"
          ]
        },
        "failure_code": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "not_configured",
                "budget_exhausted",
                "access_changed",
                "source_unavailable",
                "context_changed",
                "input_too_large",
                "provider_unavailable",
                "generation_unconfirmed",
                "invalid_output",
                "cancelled",
                "expired",
                "conversation_full"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "created_at": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "expires_at": {
          "type": "string",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
          "format": "date-time"
        },
        "processor": {
          "type": "string",
          "const": "Google Gemini"
        },
        "model_id": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 128
            },
            {
              "type": "null"
            }
          ]
        },
        "model_version": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 128
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "id",
        "workspace_id",
        "conversation_id",
        "conversation_revision",
        "generation",
        "request_kind",
        "status",
        "failure_code",
        "created_at",
        "expires_at",
        "processor",
        "model_id",
        "model_version"
      ]
    },
    "message": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "run_id": {
              "type": "string",
              "format": "uuid",
              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
            },
            "role": {
              "type": "string",
              "enum": [
                "user",
                "assistant"
              ]
            },
            "question": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 2000
                },
                {
                  "type": "null"
                }
              ]
            },
            "answer": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "answer": {
                      "type": "object",
                      "properties": {
                        "statement": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 2000
                        },
                        "basis": {
                          "type": "string",
                          "enum": [
                            "observed",
                            "inferred",
                            "generated"
                          ]
                        },
                        "evidence": {
                          "minItems": 1,
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "evidence_id": {
                                "type": "string",
                                "format": "uuid",
                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                              },
                              "revision": {
                                "type": "integer",
                                "exclusiveMinimum": 0,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "evidence_id",
                              "revision"
                            ]
                          }
                        },
                        "uncertainty": {
                          "type": "string",
                          "maxLength": 1000
                        }
                      },
                      "required": [
                        "statement",
                        "basis",
                        "evidence",
                        "uncertainty"
                      ]
                    },
                    "findings": {
                      "maxItems": 12,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "statement": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 2000
                          },
                          "basis": {
                            "type": "string",
                            "enum": [
                              "observed",
                              "inferred",
                              "generated"
                            ]
                          },
                          "evidence": {
                            "minItems": 1,
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "evidence_id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "revision": {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                }
                              },
                              "required": [
                                "evidence_id",
                                "revision"
                              ]
                            }
                          },
                          "uncertainty": {
                            "type": "string",
                            "maxLength": 1000
                          }
                        },
                        "required": [
                          "statement",
                          "basis",
                          "evidence",
                          "uncertainty"
                        ]
                      }
                    },
                    "sentiment": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "evidence_id": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          },
                          "revision": {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          "label": {
                            "type": "string",
                            "enum": [
                              "positive",
                              "negative",
                              "neutral",
                              "mixed",
                              "unknown"
                            ]
                          },
                          "uncertainty": {
                            "type": "string",
                            "maxLength": 1000
                          }
                        },
                        "required": [
                          "evidence_id",
                          "revision",
                          "label",
                          "uncertainty"
                        ]
                      }
                    },
                    "query_suggestions": {
                      "maxItems": 5,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "query": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 2000
                          },
                          "excluded_terms": {
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 100
                            }
                          },
                          "evidence": {
                            "minItems": 1,
                            "maxItems": 20,
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "evidence_id": {
                                  "type": "string",
                                  "format": "uuid",
                                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                                },
                                "revision": {
                                  "type": "integer",
                                  "exclusiveMinimum": 0,
                                  "maximum": 9007199254740991
                                }
                              },
                              "required": [
                                "evidence_id",
                                "revision"
                              ]
                            }
                          },
                          "rationale": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 1000
                          }
                        },
                        "required": [
                          "query",
                          "excluded_terms",
                          "evidence",
                          "rationale"
                        ]
                      }
                    },
                    "limitations": {
                      "minItems": 1,
                      "maxItems": 10,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1000
                      }
                    },
                    "quantitative_claims": {
                      "type": "boolean",
                      "const": false
                    },
                    "method_version": {
                      "type": "string",
                      "const": "research-cited/v1"
                    }
                  },
                  "required": [
                    "answer",
                    "findings",
                    "sentiment",
                    "query_suggestions",
                    "limitations",
                    "quantitative_claims",
                    "method_version"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "created_at": {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            },
            "expires_at": {
              "type": "string",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "format": "date-time"
            }
          },
          "required": [
            "id",
            "run_id",
            "role",
            "question",
            "answer",
            "created_at",
            "expires_at"
          ]
        },
        {
          "type": "null"
        }
      ]
    },
    "conversation_revision": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "availability": {
      "type": "object",
      "properties": {
        "configured": {
          "type": "boolean"
        },
        "reason": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "not_configured",
                "budget_exhausted",
                "access_changed",
                "source_unavailable",
                "context_changed",
                "input_too_large",
                "provider_unavailable",
                "generation_unconfirmed",
                "invalid_output",
                "cancelled",
                "expired",
                "conversation_full"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "processor": {
          "type": "string",
          "const": "Google Gemini"
        },
        "retention_hours": {
          "type": "number",
          "const": 24
        }
      },
      "required": [
        "configured",
        "reason",
        "processor",
        "retention_hours"
      ]
    }
  },
  "required": [
    "run",
    "message",
    "conversation_revision",
    "availability"
  ]
}

エラーと安全な再試行

HTTPステータスとレスポンス本文を確認します。400の検証エラーにはZodErrorが含まれる場合があります。ハンドラーエラーはerror、message、codeを使用します。診断用にrequest_idまたはx-request-idを保持し、認証情報は含めないでください。401/403はアクセス問題を解消してから再試行し、429はRetry-Afterに従います。書き込み結果が不確か、または5xxの場合は、まず既存の結果を取得してください。冪等性キーは対応する操作でのみ再利用します。再試行の挙動は操作ごとに異なり、厳密に一回の配信は保証しません。

トラブルシューティングガイド

例

スキーマ確認済みの架空値の例です。認可されたID、準備済みメディア、確認済みの公開日時に置き換え、書き込み前に適格性を確認してください。このページはAPIを呼びません。

サーバーのSOSOAPI_ACCESS_TOKENに操作が受け付ける認証情報を設定し、ブラウザーコードに含めないでください。AIエージェントはsosoapi auth loginでブラウザーログインし、CLIに更新を任せます。

request.json

{
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "conversation_id": "11111111-1111-4111-8111-111111111111",
  "run_id": "11111111-1111-4111-8111-111111111111"
}

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/assistant/status" \
  -H "Authorization: Bearer $SOSOAPI_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @request.json

JavaScript

// Server-side JavaScript. Do not print tokens or credential-bearing responses.
const token = process.env.SOSOAPI_ACCESS_TOKEN;
if (!token) throw new Error("Set an accepted credential for this operation");
const response = await fetch("https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/assistant/status", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_id": "11111111-1111-4111-8111-111111111111",
  "conversation_id": "11111111-1111-4111-8111-111111111111",
  "run_id": "11111111-1111-4111-8111-111111111111"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /research-api/assistant/status < request.json

合成レスポンス例

{
  "run": {
    "id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "conversation_id": "11111111-1111-4111-8111-111111111111",
    "conversation_revision": 1,
    "generation": 1,
    "request_kind": "question",
    "status": "queued",
    "failure_code": null,
    "created_at": "2099-01-15T09:00:00Z",
    "expires_at": "2099-01-15T09:00:00Z",
    "processor": "Google Gemini",
    "model_id": null,
    "model_version": null
  },
  "message": null,
  "conversation_revision": 1,
  "availability": {
    "configured": false,
    "reason": null,
    "processor": "Google Gemini",
    "retention_hours": 24
  }
}

MCP: sosoapi_research_assistant_status