Preferensi privasi

Fitur wajib

Diperlukan untuk keamanan dan fungsi dasar situs.

Selalu aktif

Analitik penggunaan opsional

Izinkan analitik penggunaan PostHog? Ubah pilihan Anda kapan saja di footer.

Izinkan juga pemutaran ulang sesi di situs web publik ini

Pemutaran ulang menampilkan halaman publik dan interaksi, dengan input serta konten pribadi disamarkan. Pemutaran ulang di App merupakan pilihan terpisah.

Memerlukan analitik; pemutaran ulang situs nonaktif secara default.

Analitik browser tidak mengaktifkan analitik akun.

Pencarian hanya dimuat saat digunakan. Jelajahi semua kategori di bawah.

Research dan ringkasan bersitasi

Baca percakapan riset pribadi

Buka kembali pertanyaan pribadi dan jawaban bersitasi yang tidak tepercaya selama akses, sumber, dan penyajian 24 jam saat ini mengizinkan. Memerlukan agent:research.

POST /research-api/conversations/get

Kontrak ditinjau: · sha256:ab393e91e9b7f18a

Ringkasan

Buka kembali pertanyaan pribadi dan jawaban bersitasi yang tidak tepercaya selama akses, sumber, dan penyajian 24 jam saat ini mengizinkan. Memerlukan agent:research.

Respons HTTP berhasil dapat berarti permintaan diterima, bukan selesai. Untuk pekerjaan latar belakang, simpan ID yang dikembalikan dan periksa operasi yang sama sampai selesai. Postingan terjadwal atau diterima baru dipublikasikan setelah platform mengonfirmasi; timeout klien tidak membuktikan hasilnya.

Autentikasi dan izin

Jenis kredensial yang diterima
user_session, delegated_oauth, personal_access_token
Kemampuan yang didelegasikan
agent:research
Peran ruang kerja minimum
viewer
Cakupan akses
Sumber daya yang boleh diakses pengguna ini
Persetujuan seluruh ruang kerja diperlukan
Tidak
Mengubah status
Tidak
Saat operasi selesai
current authorized conversation; availability and expiry govern source content

Token hanya dapat menggunakan hak pemiliknya. Setiap permintaan memeriksa keanggotaan ruang kerja, kepemilikan sumber daya, ruang kerja terpilih, dan kemampuan yang diberikan. Profil core dan full mengubah alat yang ditampilkan; tidak memberikan akses.

Kolom permintaan

Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.

Kolom permintaan
Kolom / cabangJenis / wajibBatasan
$objectWajib dalam induk
  • additionalProperties: false
workspace_idstringWajib dalam induk
  • 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_idstringWajib dalam induk
  • 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 lengkap
{
  "$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)$"
    }
  },
  "required": [
    "workspace_id",
    "conversation_id"
  ],
  "additionalProperties": false
}

Respons dan penyelesaian

Status HTTP berhasil: 200. Saat operasi selesai: current authorized conversation; availability and expiry govern source content.

Respons HTTP berhasil dapat berarti permintaan diterima, bukan selesai. Untuk pekerjaan latar belakang, simpan ID yang dikembalikan dan periksa operasi yang sama sampai selesai. Postingan terjadwal atau diterima baru dipublikasikan setelah platform mengonfirmasi; timeout klien tidak membuktikan hasilnya.

Wajib berarti wajib dalam objek induk dan cabang yang dipilih. Anak wajib tidak membuat induk opsional menjadi wajib. Aturan dan nama kolom di bawah disalin dari kontrak.

Respons dan penyelesaian
Kolom / cabangJenis / wajibBatasan
$objectWajib dalam induk—
conversationobjectWajib dalam induk—
conversation.idstringWajib dalam induk
  • 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.workspace_idstringWajib dalam induk
  • 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.revisionintegerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
conversation.titlestring | nullWajib dalam induk—
conversation.titleanyOf 1stringWajib dalam induk
  • minLength: 1
  • maxLength: 200
conversation.titleanyOf 2nullWajib dalam induk—
conversation.contextobjectWajib dalam induk—
conversation.context.project_idstringWajib dalam induk
  • 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.context.project_revisionintegerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
conversation.context.corpus_snapshot_idstringWajib dalam induk
  • 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.context.evidencearrayWajib dalam induk
  • minItems: 1
  • maxItems: 20
conversation.context.evidence[]objectOpsional / item—
conversation.context.evidence[].evidence_idstringWajib dalam induk
  • 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.context.evidence[].revisionintegerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
conversation.languagestringWajib dalam induk
  • minLength: 1
  • maxLength: 35
conversation.archivedbooleanWajib dalam induk—
conversation.availabilitystringWajib dalam induk
  • enum: ["available","expired","source_unavailable","access_changed","archived"]
conversation.created_atstringWajib dalam induk
  • 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)))$"
conversation.expires_atstringWajib dalam induk
  • 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)))$"
messagesarrayWajib dalam induk
  • maxItems: 40
messages[]objectOpsional / item—
messages[].idstringWajib dalam induk
  • 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)$"
messages[].run_idstringWajib dalam induk
  • 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)$"
messages[].rolestringWajib dalam induk
  • enum: ["user","assistant"]
messages[].questionstring | nullWajib dalam induk—
messages[].questionanyOf 1stringWajib dalam induk
  • maxLength: 2000
messages[].questionanyOf 2nullWajib dalam induk—
messages[].answerobject | nullWajib dalam induk—
messages[].answeranyOf 1objectWajib dalam induk—
messages[].answer.answeranyOf 1objectWajib dalam induk—
messages[].answer.answer.statementanyOf 1stringWajib dalam induk
  • minLength: 1
  • maxLength: 2000
messages[].answer.answer.basisanyOf 1stringWajib dalam induk
  • enum: ["observed","inferred","generated"]
messages[].answer.answer.evidenceanyOf 1arrayWajib dalam induk
  • minItems: 1
  • maxItems: 20
messages[].answer.answer.evidence[]anyOf 1objectOpsional / item—
messages[].answer.answer.evidence[].evidence_idanyOf 1stringWajib dalam induk
  • 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)$"
messages[].answer.answer.evidence[].revisionanyOf 1integerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.answer.uncertaintyanyOf 1stringWajib dalam induk
  • maxLength: 1000
messages[].answer.findingsanyOf 1arrayWajib dalam induk
  • maxItems: 12
messages[].answer.findings[]anyOf 1objectOpsional / item—
messages[].answer.findings[].statementanyOf 1stringWajib dalam induk
  • minLength: 1
  • maxLength: 2000
messages[].answer.findings[].basisanyOf 1stringWajib dalam induk
  • enum: ["observed","inferred","generated"]
messages[].answer.findings[].evidenceanyOf 1arrayWajib dalam induk
  • minItems: 1
  • maxItems: 20
messages[].answer.findings[].evidence[]anyOf 1objectOpsional / item—
messages[].answer.findings[].evidence[].evidence_idanyOf 1stringWajib dalam induk
  • 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)$"
messages[].answer.findings[].evidence[].revisionanyOf 1integerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.findings[].uncertaintyanyOf 1stringWajib dalam induk
  • maxLength: 1000
messages[].answer.sentimentanyOf 1arrayWajib dalam induk
  • maxItems: 20
messages[].answer.sentiment[]anyOf 1objectOpsional / item—
messages[].answer.sentiment[].evidence_idanyOf 1stringWajib dalam induk
  • 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)$"
messages[].answer.sentiment[].revisionanyOf 1integerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.sentiment[].labelanyOf 1stringWajib dalam induk
  • enum: ["positive","negative","neutral","mixed","unknown"]
messages[].answer.sentiment[].uncertaintyanyOf 1stringWajib dalam induk
  • maxLength: 1000
messages[].answer.query_suggestionsanyOf 1arrayWajib dalam induk
  • maxItems: 5
messages[].answer.query_suggestions[]anyOf 1objectOpsional / item—
messages[].answer.query_suggestions[].queryanyOf 1stringWajib dalam induk
  • minLength: 1
  • maxLength: 2000
messages[].answer.query_suggestions[].excluded_termsanyOf 1arrayWajib dalam induk
  • maxItems: 20
messages[].answer.query_suggestions[].excluded_terms[]anyOf 1stringOpsional / item
  • minLength: 1
  • maxLength: 100
messages[].answer.query_suggestions[].evidenceanyOf 1arrayWajib dalam induk
  • minItems: 1
  • maxItems: 20
messages[].answer.query_suggestions[].evidence[]anyOf 1objectOpsional / item—
messages[].answer.query_suggestions[].evidence[].evidence_idanyOf 1stringWajib dalam induk
  • 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)$"
messages[].answer.query_suggestions[].evidence[].revisionanyOf 1integerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.query_suggestions[].rationaleanyOf 1stringWajib dalam induk
  • minLength: 1
  • maxLength: 1000
messages[].answer.limitationsanyOf 1arrayWajib dalam induk
  • minItems: 1
  • maxItems: 10
messages[].answer.limitations[]anyOf 1stringOpsional / item
  • minLength: 1
  • maxLength: 1000
messages[].answer.quantitative_claimsanyOf 1booleanWajib dalam induk
  • const: false
messages[].answer.method_versionanyOf 1stringWajib dalam induk
  • const: "research-cited/v1"
messages[].answeranyOf 2nullWajib dalam induk—
messages[].created_atstringWajib dalam induk
  • 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)))$"
messages[].expires_atstringWajib dalam induk
  • 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)))$"
runsarrayWajib dalam induk
  • maxItems: 20
runs[]objectOpsional / item—
runs[].idstringWajib dalam induk
  • 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)$"
runs[].workspace_idstringWajib dalam induk
  • 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)$"
runs[].conversation_idstringWajib dalam induk
  • 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)$"
runs[].conversation_revisionintegerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
runs[].generationintegerWajib dalam induk
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
runs[].request_kindstringWajib dalam induk
  • enum: ["question","overview","themes","audiences","sentiment","query_suggestions"]
runs[].statusstringWajib dalam induk
  • enum: ["queued","processing","completed","failed","cancelled","expired","unavailable"]
runs[].failure_codestring | nullWajib dalam induk—
runs[].failure_codeanyOf 1stringWajib dalam induk
  • enum: ["not_configured","budget_exhausted","access_changed","source_unavailable","context_changed","input_too_large","provider_unavailable","generation_unconfirmed","invalid_output","cancelled","expired","conversation_full"]
runs[].failure_codeanyOf 2nullWajib dalam induk—
runs[].created_atstringWajib dalam induk
  • 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)))$"
runs[].expires_atstringWajib dalam induk
  • 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)))$"
runs[].processorstringWajib dalam induk
  • const: "Google Gemini"
runs[].model_idstring | nullWajib dalam induk—
runs[].model_idanyOf 1stringWajib dalam induk
  • maxLength: 128
runs[].model_idanyOf 2nullWajib dalam induk—
runs[].model_versionstring | nullWajib dalam induk—
runs[].model_versionanyOf 1stringWajib dalam induk
  • maxLength: 128
runs[].model_versionanyOf 2nullWajib dalam induk—
availabilityobjectWajib dalam induk—
availability.configuredbooleanWajib dalam induk—
availability.reasonstring | nullWajib dalam induk—
availability.reasonanyOf 1stringWajib dalam induk
  • 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 2nullWajib dalam induk—
availability.processorstringWajib dalam induk
  • const: "Google Gemini"
availability.retention_hoursnumberWajib dalam induk
  • const: 24
JSON Schema lengkap
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "conversation": {
      "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)$"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "title": {
          "anyOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            {
              "type": "null"
            }
          ]
        },
        "context": {
          "type": "object",
          "properties": {
            "project_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)$"
            },
            "project_revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "corpus_snapshot_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)$"
            },
            "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"
                ]
              }
            }
          },
          "required": [
            "project_id",
            "project_revision",
            "corpus_snapshot_id",
            "evidence"
          ]
        },
        "language": {
          "type": "string",
          "minLength": 1,
          "maxLength": 35
        },
        "archived": {
          "type": "boolean"
        },
        "availability": {
          "type": "string",
          "enum": [
            "available",
            "expired",
            "source_unavailable",
            "access_changed",
            "archived"
          ]
        },
        "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",
        "workspace_id",
        "revision",
        "title",
        "context",
        "language",
        "archived",
        "availability",
        "created_at",
        "expires_at"
      ]
    },
    "messages": {
      "maxItems": 40,
      "type": "array",
      "items": {
        "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"
        ]
      }
    },
    "runs": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "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"
        ]
      }
    },
    "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": [
    "conversation",
    "messages",
    "runs",
    "availability"
  ]
}

Kesalahan dan percobaan ulang aman

Periksa status HTTP dan isi respons. Kesalahan validasi 400 mungkin berisi ZodError; kesalahan handler menggunakan kolom error, message, dan code. Simpan request_id atau x-request-id untuk diagnosis, tanpa kredensial. Atasi kesalahan akses 401/403 sebelum mencoba lagi, dan ikuti Retry-After untuk 429. Jika penulisan belum pasti atau mengembalikan 5xx, baca hasil yang sudah ada terlebih dahulu. Gunakan kembali kunci idempotensi hanya jika didukung; perilaku percobaan ulang berbeda menurut operasi dan tidak menjamin pengiriman tepat satu kali.

Panduan pemecahan masalah

Contoh

Contoh ini menggunakan nilai fiktif yang diperiksa terhadap skema. Ganti ID dengan yang diizinkan bagi Anda, media dengan aset siap, dan tanggal dengan waktu publikasi yang dikonfirmasi. Periksa kelayakan akun sebelum mengirim penulisan. Halaman ini tidak mengirim permintaan API.

Atur SOSOAPI_ACCESS_TOKEN di server Anda ke kredensial yang diterima operasi ini, dan jauhkan dari kode browser. Untuk agen AI, gunakan sosoapi auth login untuk masuk melalui browser dan biarkan CLI memperbarui kredensialnya.

request.json

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

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/conversations/get" \
  -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/conversations/get", {
  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"
})
});
const result = await response.json();
// Check response.ok, the operation-specific body and completion state before continuing.

CLI

npx sosoapi api post /research-api/conversations/get < request.json

Contoh respons sintetis

{
  "conversation": {
    "id": "11111111-1111-4111-8111-111111111111",
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "revision": 1,
    "title": null,
    "context": {
      "project_id": "11111111-1111-4111-8111-111111111111",
      "project_revision": 1,
      "corpus_snapshot_id": "11111111-1111-4111-8111-111111111111",
      "evidence": [
        {
          "evidence_id": "11111111-1111-4111-8111-111111111111",
          "revision": 1
        }
      ]
    },
    "language": "example",
    "archived": false,
    "availability": "available",
    "created_at": "2099-01-15T09:00:00Z",
    "expires_at": "2099-01-15T09:00:00Z"
  },
  "messages": [],
  "runs": [],
  "availability": {
    "configured": false,
    "reason": null,
    "processor": "Google Gemini",
    "retention_hours": 24
  }
}

MCP: sosoapi_research_conversations_get