गोपनीयता प्राथमिकताएँ

आवश्यक सुविधाएँ

सुरक्षा और साइट की बुनियादी सुविधाओं के लिए आवश्यक।

हमेशा चालू

वैकल्पिक उपयोग एनालिटिक्स

PostHog उपयोग एनालिटिक्स की अनुमति दें? फ़ुटर में कभी भी अपना चुनाव बदलें।

इस सार्वजनिक वेबसाइट पर सत्र रीप्ले की भी अनुमति दें

रीप्ले में इनपुट और निजी कंटेंट छिपाकर सार्वजनिक पेज और इंटरैक्शन दिखाए जाते हैं। App रीप्ले एक अलग चुनाव है।

पहले विश्लेषण चालू करें; वेबसाइट रीप्ले डिफ़ॉल्ट रूप से बंद है।

ब्राउज़र विश्लेषण से खाते का विश्लेषण चालू नहीं होता।

खोज केवल इस्तेमाल करने पर लोड होती है। नीचे सभी श्रेणियाँ देखें।

शोध और संदर्भयुक्त ब्रीफ़

अपनी शोध बातचीत खोजें

UUID पेजिनेशन से अपनी निजी बातचीत खोजें; अनुपलब्ध शीर्षक छिपे रहते हैं। agent:research आवश्यक है।

POST /research-api/conversations/query

कॉन्ट्रैक्ट की समीक्षा: · sha256:ab393e91e9b7f18a

परिचय

UUID पेजिनेशन से अपनी निजी बातचीत खोजें; अनुपलब्ध शीर्षक छिपे रहते हैं। agent:research आवश्यक है।

सफल HTTP रिस्पॉन्स का अर्थ अनुरोध पूरा होने के बजाय स्वीकार होना हो सकता है। बैकग्राउंड काम में लौटाई ID सहेजें और समाप्ति तक वही ऑपरेशन जाँचें। निर्धारित या स्वीकृत पोस्ट प्लेटफ़ॉर्म की पुष्टि पर ही प्रकाशित है; क्लाइंट टाइमआउट परिणाम सिद्ध नहीं करता।

प्रमाणीकरण और अनुमतियाँ

स्वीकार्य क्रेडेंशियल श्रेणियाँ
user_session, delegated_oauth, personal_access_token
प्रत्यायोजित क्षमता
agent:research
न्यूनतम वर्कस्पेस भूमिका
viewer
एक्सेस का दायरा
वे संसाधन जिनके एक्सेस के लिए यह यूज़र अधिकृत है
सभी वर्कस्पेस के लिए सहमति आवश्यक
नहीं
स्थिति बदलता है
नहीं
ऑपरेशन पूरा होने पर
current actor-private conversation page

टोकन केवल मालिक के अधिकार इस्तेमाल कर सकता है। हर अनुरोध वर्कस्पेस सदस्यता, संसाधन स्वामित्व, चुने वर्कस्पेस और दी क्षमताएँ जाँचता है। Core और full प्रोफ़ाइल दिखने वाले टूल बदलते हैं; एक्सेस नहीं देते।

अनुरोध के फ़ील्ड

Required का अर्थ पैरेंट ऑब्जेक्ट और चुनी शाखा के भीतर अनिवार्य है। अनिवार्य चाइल्ड से वैकल्पिक पैरेंट अनिवार्य नहीं होता। नीचे के नियम और फ़ील्ड नाम कॉन्ट्रैक्ट से लिए गए हैं।

अनुरोध के फ़ील्ड
फ़ील्ड / शाखाप्रकार / अनिवार्यशर्तें
$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)$"
archivedbooleanवैकल्पिक / आइटम
  • default: false
cursorstringवैकल्पिक / आइटम
  • 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)$"
limitintegerवैकल्पिक / आइटम
  • minimum: 1
  • maximum: 25
  • default: 10
संपूर्ण 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)$"
    },
    "archived": {
      "default": false,
      "type": "boolean"
    },
    "cursor": {
      "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)$"
    },
    "limit": {
      "default": 10,
      "type": "integer",
      "minimum": 1,
      "maximum": 25
    }
  },
  "required": [
    "workspace_id"
  ],
  "additionalProperties": false
}

रिस्पॉन्स और पूर्णता

सफल HTTP स्टेटस: 200. When the operation is complete: current actor-private conversation page.

सफल HTTP रिस्पॉन्स का अर्थ अनुरोध पूरा होने के बजाय स्वीकार होना हो सकता है। बैकग्राउंड काम में लौटाई ID सहेजें और समाप्ति तक वही ऑपरेशन जाँचें। निर्धारित या स्वीकृत पोस्ट प्लेटफ़ॉर्म की पुष्टि पर ही प्रकाशित है; क्लाइंट टाइमआउट परिणाम सिद्ध नहीं करता।

Required का अर्थ पैरेंट ऑब्जेक्ट और चुनी शाखा के भीतर अनिवार्य है। अनिवार्य चाइल्ड से वैकल्पिक पैरेंट अनिवार्य नहीं होता। नीचे के नियम और फ़ील्ड नाम कॉन्ट्रैक्ट से लिए गए हैं।

रिस्पॉन्स और पूर्णता
फ़ील्ड / शाखाप्रकार / अनिवार्यशर्तें
$objectपैरेंट में अनिवार्य—
itemsarrayपैरेंट में अनिवार्य
  • maxItems: 25
items[]objectवैकल्पिक / आइटम—
items[].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)$"
items[].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)$"
items[].revisionintegerपैरेंट में अनिवार्य
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
items[].titlestring | nullपैरेंट में अनिवार्य—
items[].titleanyOf 1stringपैरेंट में अनिवार्य
  • minLength: 1
  • maxLength: 200
items[].titleanyOf 2nullपैरेंट में अनिवार्य—
items[].contextobjectपैरेंट में अनिवार्य—
items[].context.project_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)$"
items[].context.project_revisionintegerपैरेंट में अनिवार्य
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
items[].context.corpus_snapshot_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)$"
items[].context.evidencearrayपैरेंट में अनिवार्य
  • minItems: 1
  • maxItems: 20
items[].context.evidence[]objectवैकल्पिक / आइटम—
items[].context.evidence[].evidence_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)$"
items[].context.evidence[].revisionintegerपैरेंट में अनिवार्य
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
items[].languagestringपैरेंट में अनिवार्य
  • minLength: 1
  • maxLength: 35
items[].archivedbooleanपैरेंट में अनिवार्य—
items[].availabilitystringपैरेंट में अनिवार्य
  • enum: ["available","expired","source_unavailable","access_changed","archived"]
items[].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)))$"
items[].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)))$"
next_cursorstring | nullपैरेंट में अनिवार्य—
next_cursoranyOf 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)$"
next_cursoranyOf 2nullपैरेंट में अनिवार्य—
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": {
    "items": {
      "maxItems": 25,
      "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)$"
          },
          "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"
        ]
      }
    },
    "next_cursor": {
      "anyOf": [
        {
          "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)$"
        },
        {
          "type": "null"
        }
      ]
    },
    "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": [
    "items",
    "next_cursor",
    "availability"
  ]
}

त्रुटियाँ और सुरक्षित पुनः प्रयास

HTTP स्टेटस और रिस्पॉन्स बॉडी जाँचें। 400 वैलिडेशन त्रुटि में ZodError हो सकता है; हैंडलर त्रुटियाँ error, message और code फ़ील्ड इस्तेमाल करती हैं। जाँच के लिए request_id या x-request-id रखें, क्रेडेंशियल के बिना। फिर प्रयास से पहले 401/403 एक्सेस त्रुटियाँ ठीक करें और 429 के लिए Retry-After का पालन करें। राइट अनिश्चित हो या 5xx लौटाए, तो पहले मौजूदा परिणाम पढ़ें। idempotency key केवल समर्थित स्थान पर दोबारा इस्तेमाल करें; पुनः प्रयास का व्यवहार ऑपरेशन के अनुसार बदलता है और ठीक एक बार डिलीवरी की गारंटी नहीं देता।

समस्या निवारण गाइड

उदाहरण

उदाहरणों में स्कीमा से जाँचे काल्पनिक मान हैं। IDs को अधिकृत IDs, मीडिया को तैयार एसेट और तारीखों को पुष्ट प्रकाशन समय से बदलें। राइट सबमिट करने से पहले खाते की पात्रता जाँचें। यह पेज API अनुरोध नहीं भेजता।

सर्वर पर SOSOAPI_ACCESS_TOKEN को इस ऑपरेशन के स्वीकार्य क्रेडेंशियल से सेट करें और ब्राउज़र कोड से बाहर रखें। AI एजेंट के लिए sosoapi auth login से ब्राउज़र साइन-इन करें और CLI को क्रेडेंशियल रिफ़्रेश करने दें।

request.json

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

cURL

curl --request POST \
  "https://gqeshlawtcexsapabaui.supabase.co/functions/v1/research-api/conversations/query" \
  -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/query", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: "Bearer " + token },
  body: JSON.stringify({
  "workspace_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/query < request.json

कृत्रिम रिस्पॉन्स का उदाहरण

{
  "items": [],
  "next_cursor": null,
  "availability": {
    "configured": false,
    "reason": null,
    "processor": "Google Gemini",
    "retention_hours": 24
  }
}

MCP: sosoapi_research_conversations_query