Privacyvoorkeuren

Noodzakelijke functies

Vereist voor beveiliging en de basisfuncties van de website.

Altijd actief

Optionele gebruiksanalyse

PostHog-gebruiksanalyse toestaan? Je kunt je keuze altijd in de voettekst wijzigen.

Ook sessiereplay op deze openbare website toestaan

Replay toont openbare pagina’s en interacties, waarbij invoer en privé-inhoud worden gemaskeerd. App-replay is een afzonderlijke keuze.

Vereist analyses; websiteherhaling staat standaard uit.

Browseranalyses schakelen accountanalyses niet in.

Zoeken wordt pas geladen wanneer je het gebruikt. Bekijk hieronder alle categorieën.

MCP-tool

Een privéonderzoeksgesprek maken

sosoapi_research_conversations_create

Een privégesprek maken dat is gekoppeld aan exacte project-, corpus- en bewijsversies; nog geen modelaanvraag. Vereist agent:research.

Lezen als Markdown

Profielen en transporten

Profielen: full · Transporten: stdio, http

Kies core of full om te bepalen welke tools je client ziet; dit verandert geen machtigingen. Lokale bestandsupload vereist stdio en is niet beschikbaar via HTTP. Stel SOSOAPI_OUTPUT_SCHEMAS=1 in om uitvoerschema's bij detectie op te nemen. Tools geven met en zonder die instelling gestructureerde resultaten terug.

Machtigingen en neveneffecten

Annotaties helpen clients een tool te beschrijven. Elke aanroep controleert nog steeds gebruikersauthenticatie, rol, resourcetoegang en verleende bevoegdheden.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": true
}

Invoervelden

Verplicht betekent verplicht binnen het bovenliggende object en de gekozen variant. Een verplicht onderliggend veld maakt een optioneel bovenliggend object niet verplicht. Onderstaande regels en veldnamen zijn uit het contract gekopieerd.

Invoervelden
Veld / variantType / verplichtBeperkingen
$objectVerplicht in bovenliggend object
  • additionalProperties: false
workspace_idstringVerplicht in bovenliggend object
  • format: "uuid"
mutation_idstringVerplicht in bovenliggend object
  • format: "uuid"
titlestringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 200
contextobjectVerplicht in bovenliggend object
  • additionalProperties: false
context.project_idstringVerplicht in bovenliggend object
  • format: "uuid"
context.project_revisionintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
context.corpus_snapshot_idstringVerplicht in bovenliggend object
  • format: "uuid"
context.evidencearrayVerplicht in bovenliggend object
  • minItems: 1
  • maxItems: 20
context.evidence[]objectOptioneel / item
  • additionalProperties: false
context.evidence[].evidence_idstringVerplicht in bovenliggend object
  • format: "uuid"
context.evidence[].revisionintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
languagestringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 35
Volledig JSON Schema
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "$ref": "#/$defs/s0"
    },
    "mutation_id": {
      "$ref": "#/$defs/s0"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "context": {
      "type": "object",
      "properties": {
        "project_id": {
          "$ref": "#/$defs/s0"
        },
        "project_revision": {
          "$ref": "#/$defs/s1"
        },
        "corpus_snapshot_id": {
          "$ref": "#/$defs/s0"
        },
        "evidence": {
          "minItems": 1,
          "maxItems": 20,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "evidence_id": {
                "$ref": "#/$defs/s0"
              },
              "revision": {
                "$ref": "#/$defs/s1"
              }
            },
            "required": [
              "evidence_id",
              "revision"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "project_id",
        "project_revision",
        "corpus_snapshot_id",
        "evidence"
      ],
      "additionalProperties": false
    },
    "language": {
      "type": "string",
      "minLength": 1,
      "maxLength": 35
    }
  },
  "required": [
    "workspace_id",
    "mutation_id",
    "title",
    "context",
    "language"
  ],
  "additionalProperties": false,
  "$defs": {
    "s0": {
      "type": "string",
      "format": "uuid"
    },
    "s1": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  }
}

Gestructureerde uitvoer

Dit schema beschrijft structuredContent in een geslaagd toolresultaat. Het MCP-antwoord bevat ook content en kan isError instellen wanneer een aanroep mislukt. Lees bij publiceren het definitieve berichtresultaat; beschouw een geaccepteerd verzoek of tekstantwoord niet als bevestiging. De gekoppelde API-bewerking beschrijft machtigingen en regels voor opnieuw proberen.

Verplicht betekent verplicht binnen het bovenliggende object en de gekozen variant. Een verplicht onderliggend veld maakt een optioneel bovenliggend object niet verplicht. Onderstaande regels en veldnamen zijn uit het contract gekopieerd.

Gestructureerde uitvoer
Veld / variantType / verplichtBeperkingen
$objectVerplicht in bovenliggend object
  • additionalProperties: false
conversationobjectVerplicht in bovenliggend object
  • additionalProperties: false
conversation.idstringVerplicht in bovenliggend object
  • format: "uuid"
conversation.workspace_idstringVerplicht in bovenliggend object
  • format: "uuid"
conversation.revisionintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
conversation.titlestring | nullVerplicht in bovenliggend object—
conversation.titleanyOf 1stringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 200
conversation.titleanyOf 2nullVerplicht in bovenliggend object—
conversation.contextobjectVerplicht in bovenliggend object
  • additionalProperties: false
conversation.context.project_idstringVerplicht in bovenliggend object
  • format: "uuid"
conversation.context.project_revisionintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
conversation.context.corpus_snapshot_idstringVerplicht in bovenliggend object
  • format: "uuid"
conversation.context.evidencearrayVerplicht in bovenliggend object
  • minItems: 1
  • maxItems: 20
conversation.context.evidence[]objectOptioneel / item
  • additionalProperties: false
conversation.context.evidence[].evidence_idstringVerplicht in bovenliggend object
  • format: "uuid"
conversation.context.evidence[].revisionintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
conversation.languagestringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 35
conversation.archivedbooleanVerplicht in bovenliggend object—
conversation.availabilitystringVerplicht in bovenliggend object
  • enum: ["available","expired","source_unavailable","access_changed","archived"]
conversation.created_atstringVerplicht in bovenliggend object
  • 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_atstringVerplicht in bovenliggend object
  • 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)))$"
messagesarrayVerplicht in bovenliggend object
  • maxItems: 40
messages[]objectOptioneel / item
  • additionalProperties: false
messages[].idstringVerplicht in bovenliggend object
  • format: "uuid"
messages[].run_idstringVerplicht in bovenliggend object
  • format: "uuid"
messages[].rolestringVerplicht in bovenliggend object
  • enum: ["user","assistant"]
messages[].questionstring | nullVerplicht in bovenliggend object—
messages[].questionanyOf 1stringVerplicht in bovenliggend object
  • maxLength: 2000
messages[].questionanyOf 2nullVerplicht in bovenliggend object—
messages[].answerobject | nullVerplicht in bovenliggend object—
messages[].answeranyOf 1objectVerplicht in bovenliggend object
  • additionalProperties: false
messages[].answer.answeranyOf 1objectVerplicht in bovenliggend object
  • additionalProperties: false
messages[].answer.answer.statementanyOf 1stringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 2000
messages[].answer.answer.basisanyOf 1stringVerplicht in bovenliggend object
  • enum: ["observed","inferred","generated"]
messages[].answer.answer.evidenceanyOf 1arrayVerplicht in bovenliggend object
  • minItems: 1
  • maxItems: 20
messages[].answer.answer.evidence[]anyOf 1objectOptioneel / item
  • additionalProperties: false
messages[].answer.answer.evidence[].evidence_idanyOf 1stringVerplicht in bovenliggend object
  • format: "uuid"
messages[].answer.answer.evidence[].revisionanyOf 1integerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.answer.uncertaintyanyOf 1stringVerplicht in bovenliggend object
  • maxLength: 1000
messages[].answer.findingsanyOf 1arrayVerplicht in bovenliggend object
  • maxItems: 12
messages[].answer.findings[]anyOf 1objectOptioneel / item
  • additionalProperties: false
messages[].answer.findings[].statementanyOf 1stringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 2000
messages[].answer.findings[].basisanyOf 1stringVerplicht in bovenliggend object
  • enum: ["observed","inferred","generated"]
messages[].answer.findings[].evidenceanyOf 1arrayVerplicht in bovenliggend object
  • minItems: 1
  • maxItems: 20
messages[].answer.findings[].evidence[]anyOf 1objectOptioneel / item
  • additionalProperties: false
messages[].answer.findings[].evidence[].evidence_idanyOf 1stringVerplicht in bovenliggend object
  • format: "uuid"
messages[].answer.findings[].evidence[].revisionanyOf 1integerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.findings[].uncertaintyanyOf 1stringVerplicht in bovenliggend object
  • maxLength: 1000
messages[].answer.sentimentanyOf 1arrayVerplicht in bovenliggend object
  • maxItems: 20
messages[].answer.sentiment[]anyOf 1objectOptioneel / item
  • additionalProperties: false
messages[].answer.sentiment[].evidence_idanyOf 1stringVerplicht in bovenliggend object
  • format: "uuid"
messages[].answer.sentiment[].revisionanyOf 1integerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.sentiment[].labelanyOf 1stringVerplicht in bovenliggend object
  • enum: ["positive","negative","neutral","mixed","unknown"]
messages[].answer.sentiment[].uncertaintyanyOf 1stringVerplicht in bovenliggend object
  • maxLength: 1000
messages[].answer.query_suggestionsanyOf 1arrayVerplicht in bovenliggend object
  • maxItems: 5
messages[].answer.query_suggestions[]anyOf 1objectOptioneel / item
  • additionalProperties: false
messages[].answer.query_suggestions[].queryanyOf 1stringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 2000
messages[].answer.query_suggestions[].excluded_termsanyOf 1arrayVerplicht in bovenliggend object
  • maxItems: 20
messages[].answer.query_suggestions[].excluded_terms[]anyOf 1stringOptioneel / item
  • minLength: 1
  • maxLength: 100
messages[].answer.query_suggestions[].evidenceanyOf 1arrayVerplicht in bovenliggend object
  • minItems: 1
  • maxItems: 20
messages[].answer.query_suggestions[].evidence[]anyOf 1objectOptioneel / item
  • additionalProperties: false
messages[].answer.query_suggestions[].evidence[].evidence_idanyOf 1stringVerplicht in bovenliggend object
  • format: "uuid"
messages[].answer.query_suggestions[].evidence[].revisionanyOf 1integerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
messages[].answer.query_suggestions[].rationaleanyOf 1stringVerplicht in bovenliggend object
  • minLength: 1
  • maxLength: 1000
messages[].answer.limitationsanyOf 1arrayVerplicht in bovenliggend object
  • minItems: 1
  • maxItems: 10
messages[].answer.limitations[]anyOf 1stringOptioneel / item
  • minLength: 1
  • maxLength: 1000
messages[].answer.quantitative_claimsanyOf 1booleanVerplicht in bovenliggend object
  • const: false
messages[].answer.method_versionanyOf 1stringVerplicht in bovenliggend object
  • const: "research-cited/v1"
messages[].answeranyOf 2nullVerplicht in bovenliggend object—
messages[].created_atstringVerplicht in bovenliggend object
  • 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_atstringVerplicht in bovenliggend object
  • 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)))$"
runsarrayVerplicht in bovenliggend object
  • maxItems: 20
runs[]objectOptioneel / item
  • additionalProperties: false
runs[].idstringVerplicht in bovenliggend object
  • format: "uuid"
runs[].workspace_idstringVerplicht in bovenliggend object
  • format: "uuid"
runs[].conversation_idstringVerplicht in bovenliggend object
  • format: "uuid"
runs[].conversation_revisionintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
runs[].generationintegerVerplicht in bovenliggend object
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
runs[].request_kindstringVerplicht in bovenliggend object
  • enum: ["question","overview","themes","audiences","sentiment","query_suggestions"]
runs[].statusstringVerplicht in bovenliggend object
  • enum: ["queued","processing","completed","failed","cancelled","expired","unavailable"]
runs[].failure_codestring | nullVerplicht in bovenliggend object—
runs[].failure_codeanyOf 1stringVerplicht in bovenliggend object
  • 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 2nullVerplicht in bovenliggend object—
runs[].created_atstringVerplicht in bovenliggend object
  • 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_atstringVerplicht in bovenliggend object
  • 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[].processorstringVerplicht in bovenliggend object
  • const: "Google Gemini"
runs[].model_idstring | nullVerplicht in bovenliggend object—
runs[].model_idanyOf 1stringVerplicht in bovenliggend object
  • maxLength: 128
runs[].model_idanyOf 2nullVerplicht in bovenliggend object—
runs[].model_versionstring | nullVerplicht in bovenliggend object—
runs[].model_versionanyOf 1stringVerplicht in bovenliggend object
  • maxLength: 128
runs[].model_versionanyOf 2nullVerplicht in bovenliggend object—
availabilityobjectVerplicht in bovenliggend object
  • additionalProperties: false
availability.configuredbooleanVerplicht in bovenliggend object—
availability.reasonstring | nullVerplicht in bovenliggend object—
availability.reasonanyOf 1stringVerplicht in bovenliggend object
  • 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 2nullVerplicht in bovenliggend object—
availability.processorstringVerplicht in bovenliggend object
  • const: "Google Gemini"
availability.retention_hoursnumberVerplicht in bovenliggend object
  • const: 24
Volledig JSON Schema
{
  "type": "object",
  "properties": {
    "conversation": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "workspace_id": {
          "type": "string",
          "format": "uuid"
        },
        "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"
            },
            "project_revision": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "corpus_snapshot_id": {
              "type": "string",
              "format": "uuid"
            },
            "evidence": {
              "minItems": 1,
              "maxItems": 20,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "evidence_id": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "revision": {
                    "type": "integer",
                    "exclusiveMinimum": 0,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "evidence_id",
                  "revision"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "project_id",
            "project_revision",
            "corpus_snapshot_id",
            "evidence"
          ],
          "additionalProperties": false
        },
        "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"
      ],
      "additionalProperties": false
    },
    "messages": {
      "maxItems": 40,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "run_id": {
            "type": "string",
            "format": "uuid"
          },
          "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"
                            },
                            "revision": {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "evidence_id",
                            "revision"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "uncertainty": {
                        "type": "string",
                        "maxLength": 1000
                      }
                    },
                    "required": [
                      "statement",
                      "basis",
                      "evidence",
                      "uncertainty"
                    ],
                    "additionalProperties": false
                  },
                  "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"
                              },
                              "revision": {
                                "type": "integer",
                                "exclusiveMinimum": 0,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "evidence_id",
                              "revision"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "uncertainty": {
                          "type": "string",
                          "maxLength": 1000
                        }
                      },
                      "required": [
                        "statement",
                        "basis",
                        "evidence",
                        "uncertainty"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "sentiment": {
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "evidence_id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "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"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "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"
                              },
                              "revision": {
                                "type": "integer",
                                "exclusiveMinimum": 0,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "evidence_id",
                              "revision"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "rationale": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        }
                      },
                      "required": [
                        "query",
                        "excluded_terms",
                        "evidence",
                        "rationale"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "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"
                ],
                "additionalProperties": false
              },
              {
                "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"
        ],
        "additionalProperties": false
      }
    },
    "runs": {
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "workspace_id": {
            "type": "string",
            "format": "uuid"
          },
          "conversation_id": {
            "type": "string",
            "format": "uuid"
          },
          "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"
        ],
        "additionalProperties": false
      }
    },
    "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"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "conversation",
    "messages",
    "runs",
    "availability"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Voorbeeld van een toolaanroep

Deze voorbeelden gebruiken fictieve waarden die tegen de schema's zijn gecontroleerd. Vervang IDs door toegestane IDs, media door gereedstaande bestanden en datums door je bevestigde publicatietijd. Controleer accountgeschiktheid vóór een schrijfhandeling. Deze pagina verstuurt geen API-verzoeken.

{
  "name": "sosoapi_research_conversations_create",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "mutation_id": "11111111-1111-4111-8111-111111111111",
    "title": "example",
    "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"
  }
}

structuredContent

{
  "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
  }
}
Installeer of verbind MCP