removedInput schema / properties / audienceCreationMode
Removed value: -{
- "description": "How the Audience is sized. \"balanced\" (default): compact and representative for everyday research. It is the only mode with a hard wall on a size you state — a memberCount above 20 is refused with 403 MODE_CAP. \"segment_coverage\": two representatives per limiting grounded cell, from a 10-Mind floor; automatic sizing stops at 50, but a memberCount you state is bounded only by your plan. \"benchmark_depth\": repeated representation of limiting grounded cells for validation-ready segmentation; bounded by your plan allowance. The deeper two require a Team (enterprise) plan — on other plans the server SILENTLY downgrades to \"balanced\" and echoes the effective mode in structuredContent.audience.audienceCreationMode. Call get_audience_limits to see the ceilings that apply to your account.",
- "enum": [
- "balanced",
- "segment_coverage",
- "benchmark_depth"
- ],
- "type": "string"
-}
removedInput schema / properties / cohortAllocation
Removed value: -{
- "description": "Deterministic allocation controls. Reviewed respondent datasets default to observed, which preserves the strongest privacy-safe structural relationships while keeping exact marginals; other sources default to independence. Use distributionNames/maxDistributions to choose axes, minSegmentCount for a feasible floor, and seed for reproducible external runs.",
- "properties": {
- "distributionNames": {
- "items": {
- "type": "string"
- },
- "maxItems": 500,
- "type": "array"
- },
- "enabled": {
- "type": "boolean"
- },
- "includeProfilesInResponse": {
- "type": "boolean"
- },
- "jointStrategy": {
- "enum": [
- "independent",
- "aligned",
- "observed"
- ],
- "type": "string"
- },
- "maxDistributions": {
- "maximum": 500,
- "minimum": 1,
- "type": "integer"
- },
- "minSegmentCount": {
- "maximum": 20,
- "minimum": 0,
- "type": "integer"
- },
- "seed": {
- "maxLength": 200,
- "type": "string"
- },
- "targetOverrides": {
- "items": {
- "properties": {
- "distribution": {
- "type": "string"
- },
- "segments": {
- "items": {
- "properties": {
- "label": {
- "type": "string"
- },
- "pct": {
- "maximum": 100,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "label",
- "pct"
- ],
- "type": "object"
- },
- "maxItems": 200,
- "type": "array"
- }
- },
- "required": [
- "distribution",
- "segments"
- ],
- "type": "object"
- },
- "maxItems": 500,
- "type": "array"
- }
- },
- "type": "object"
-}
addedInput schema / properties / composition
Added value: +{
+ "description": "How many Minds to create and how the cohort is allocated across the grounded axes.",
+ "properties": {
+ "audienceCreationMode": {
+ "description": "How the Audience is sized. \"balanced\" (default): compact and representative for everyday research. It is the only mode with a hard wall on a size you state — a memberCount above 20 is refused with 403 MODE_CAP. \"segment_coverage\": two representatives per limiting grounded cell, from a 10-Mind floor; automatic sizing stops at 50, but a memberCount you state is bounded only by your plan. \"benchmark_depth\": repeated representation of limiting grounded cells for validation-ready segmentation; bounded by your plan allowance. The deeper two require a Team (enterprise) plan — on other plans the server SILENTLY downgrades to \"balanced\" and echoes the effective mode in structuredContent.audience.audienceCreationMode. Call get_audience_limits to see the ceilings that apply to your account.",
+ "enum": [
+ "balanced",
+ "segment_coverage",
+ "benchmark_depth"
+ ],
+ "type": "string"
+ },
+ "cohortAllocation": {
+ "description": "Deterministic allocation controls. Reviewed respondent datasets default to observed, which preserves the strongest privacy-safe structural relationships while keeping exact marginals; other sources default to independence. Use distributionNames/maxDistributions to choose axes, minSegmentCount for a feasible floor, and seed for reproducible external runs.",
+ "properties": {
+ "distributionNames": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 500,
+ "type": "array"
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "includeProfilesInResponse": {
+ "type": "boolean"
+ },
+ "jointStrategy": {
+ "enum": [
+ "independent",
+ "aligned",
+ "observed"
+ ],
+ "type": "string"
+ },
+ "maxDistributions": {
+ "maximum": 500,
+ "minimum": 1,
+ "type": "integer"
+ },
+ "minSegmentCount": {
+ "maximum": 20,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "seed": {
+ "maxLength": 200,
+ "type": "string"
+ },
+ "targetOverrides": {
+ "items": {
+ "properties": {
+ "distribution": {
+ "type": "string"
+ },
+ "segments": {
+ "items": {
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "pct": {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "label",
+ "pct"
+ ],
+ "type": "object"
+ },
+ "maxItems": 200,
+ "type": "array"
+ }
+ },
+ "required": [
+ "distribution",
+ "segments"
+ ],
+ "type": "object"
+ },
+ "maxItems": 500,
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "datasetSegmentation": {
+ "description": "Reviewed variable roles, distributions, and privacy-safe pairwise relationships returned by preview_audience_dataset_segmentation. Requires audienceCreationMode=\"benchmark_depth\". Structural variables shape one generalizable representative cohort; outcomes remain held out and joint combinations remain audit evidence only. Copy `respondentCount` and `recommendedMindCount` through from the preview — they cap the cohort size.",
+ "properties": {
+ "columns": {
+ "description": "Column-level distributions from the preview. Used when `variables` is absent.",
+ "items": {
+ "properties": {
+ "distribution": {
+ "items": {
+ "properties": {
+ "respondentCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sharePct": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "value": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value",
+ "respondentCount",
+ "sharePct"
+ ],
+ "type": "object"
+ },
+ "maxItems": 30,
+ "type": "array"
+ },
+ "key": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "otherRespondentCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "validRespondentCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "key",
+ "label",
+ "distribution"
+ ],
+ "type": "object"
+ },
+ "maxItems": 200,
+ "type": "array"
+ },
+ "combinations": {
+ "description": "Observed joint profiles as audit counts. Copy the ids and counts from the preview; per-cell values are not needed.",
+ "items": {
+ "properties": {
+ "id": {
+ "type": "string"
+ },
+ "respondentCount": {
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "sharePct": {
+ "minimum": 0,
+ "type": "number"
+ }
+ },
+ "required": [
+ "id",
+ "respondentCount",
+ "sharePct"
+ ],
+ "type": "object"
+ },
+ "maxItems": 5000,
+ "type": "array"
+ },
+ "fileName": {
+ "type": "string"
+ },
+ "recommendedMindCount": {
+ "description": "Preview-recommended cohort size. Caps how many Minds the benchmark run creates.",
+ "exclusiveMinimum": 0,
+ "maximum": 9007199254740991,
+ "type": "integer"
+ },
+ "respondentCount": {
+ "description": "Total respondent rows in the reviewed sheet, copied from the preview.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "retainedCombinationIds": {
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 5000,
+ "type": "array"
+ },
+ "segmentationColumns": {
+ "description": "Keys of the variables the user kept after review. These are the only ones that shape the cohort.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 200,
+ "minItems": 1,
+ "type": "array"
+ },
+ "sheetName": {
+ "type": "string"
+ },
+ "variables": {
+ "description": "Variable-level distributions from the preview (preferred over `columns` when present).",
+ "items": {
+ "properties": {
+ "distribution": {
+ "items": {
+ "properties": {
+ "respondentCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "sharePct": {
+ "minimum": 0,
+ "type": "number"
+ },
+ "value": {
+ "default": "",
+ "type": "string"
+ }
+ },
+ "required": [
+ "value",
+ "respondentCount",
+ "sharePct"
+ ],
+ "type": "object"
+ },
+ "maxItems": 30,
+ "type": "array"
+ },
+ "key": {
+ "type": "string"
+ },
+ "label": {
+ "type": "string"
+ },
+ "otherRespondentCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "validRespondentCount": {
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "key",
+ "label",
+ "distribution"
+ ],
+ "type": "object"
+ },
+ "maxItems": 200,
+ "type": "array"
+ }
+ },
+ "required": [
+ "fileName",
+ "segmentationColumns",
+ "combinations"
+ ],
+ "type": "object"
+ },
+ "excludeDistributions": {
+ "description": "Exact axis names whose composition quotas should be removed. Age remains as one eligibility range without within-range shares; explicit gender membership remains enforced. Include required eligibility axes in cohortAllocation.distributionNames. Original evidence stays in reviewDistributions.",
+ "items": {
+ "maxLength": 200,
+ "minLength": 1,
+ "type": "string"
+ },
+ "maxItems": 200,
+ "type": "array"
+ },
+ "memberCount": {
+ "description": "Exact number of Minds to create. Pass this whenever the user states a size (\"exactly 50 per region\", \"genau 50 Minds je Zelle\") instead of relying on the server to parse the number out of the brief. When omitted, the size is inferred from the brief and, failing that, from the creation mode's evidence-based automatic sizing. Two separate refusals apply: 403 MODE_CAP above 20 in \"balanced\" mode (switch to segment_coverage or benchmark_depth), and 403 PLAN_LIMIT above your plan's per-Audience cap. The 6000 accepted here is the absolute system ceiling, not your allowance — call get_audience_limits for the real one. The Audience is never created at a partial size.",
+ "exclusiveMinimum": 0,
+ "maximum": 6000,
+ "type": "integer"
+ }
+ },
+ "type": "object"
+}
removedInput schema / properties / datasetSegmentation
Removed value: -{
- "description": "Reviewed variable roles, distributions, and privacy-safe pairwise relationships returned by preview_audience_dataset_segmentation. Requires audienceCreationMode=\"benchmark_depth\". Structural variables shape one generalizable representative cohort; outcomes remain held out and joint combinations remain audit evidence only. Copy `respondentCount` and `recommendedMindCount` through from the preview — they cap the cohort size.",
- "properties": {
- "columns": {
- "description": "Column-level distributions from the preview. Used when `variables` is absent.",
- "items": {
- "properties": {
- "distribution": {
- "items": {
- "properties": {
- "respondentCount": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "sharePct": {
- "minimum": 0,
- "type": "number"
- },
- "value": {
- "default": "",
- "type": "string"
- }
- },
- "required": [
- "value",
- "respondentCount",
- "sharePct"
- ],
- "type": "object"
- },
- "maxItems": 30,
- "type": "array"
- },
- "key": {
- "type": "string"
- },
- "label": {
- "type": "string"
- },
- "otherRespondentCount": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "validRespondentCount": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "key",
- "label",
- "distribution"
- ],
- "type": "object"
- },
- "maxItems": 200,
- "type": "array"
- },
- "combinations": {
- "description": "Observed joint profiles as audit counts. Copy the ids and counts from the preview; per-cell values are not needed.",
- "items": {
- "properties": {
- "id": {
- "type": "string"
- },
- "respondentCount": {
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "sharePct": {
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "id",
- "respondentCount",
- "sharePct"
- ],
- "type": "object"
- },
- "maxItems": 5000,
- "type": "array"
- },
- "fileName": {
- "type": "string"
- },
- "recommendedMindCount": {
- "description": "Preview-recommended cohort size. Caps how many Minds the benchmark run creates.",
- "exclusiveMinimum": 0,
- "maximum": 9007199254740991,
- "type": "integer"
- },
- "respondentCount": {
- "description": "Total respondent rows in the reviewed sheet, copied from the preview.",
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "retainedCombinationIds": {
- "items": {
- "type": "string"
- },
- "maxItems": 5000,
- "type": "array"
- },
- "segmentationColumns": {
- "description": "Keys of the variables the user kept after review. These are the only ones that shape the cohort.",
- "items": {
- "type": "string"
- },
- "maxItems": 200,
- "minItems": 1,
- "type": "array"
- },
- "sheetName": {
- "type": "string"
- },
- "variables": {
- "description": "Variable-level distributions from the preview (preferred over `columns` when present).",
- "items": {
- "properties": {
- "distribution": {
- "items": {
- "properties": {
- "respondentCount": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "sharePct": {
- "minimum": 0,
- "type": "number"
- },
- "value": {
- "default": "",
- "type": "string"
- }
- },
- "required": [
- "value",
- "respondentCount",
- "sharePct"
- ],
- "type": "object"
- },
- "maxItems": 30,
- "type": "array"
- },
- "key": {
- "type": "string"
- },
- "label": {
- "type": "string"
- },
- "otherRespondentCount": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- },
- "validRespondentCount": {
- "maximum": 9007199254740991,
- "minimum": 0,
- "type": "integer"
- }
- },
- "required": [
- "key",
- "label",
- "distribution"
- ],
- "type": "object"
- },
- "maxItems": 200,
- "type": "array"
- }
- },
- "required": [
- "fileName",
- "segmentationColumns",
- "combinations"
- ],
- "type": "object"
-}
removedInput schema / properties / excludeDistributions
Removed value: -{
- "description": "Exact axis names whose composition quotas should be removed. Age remains as one eligibility range without within-range shares; explicit gender membership remains enforced. Include required eligibility axes in cohortAllocation.distributionNames. Original evidence stays in reviewDistributions.",
- "items": {
- "maxLength": 200,
- "minLength": 1,
- "type": "string"
- },
- "maxItems": 200,
- "type": "array"
-}
removedInput schema / properties / files
Removed value: -{
- "description": "Optional already-uploaded research files. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset. The server analyzes these through the same extended screener/questionnaire path as the in-app New Audience uploader, including study roles, screening and quota rules, review distributions, and grounding provenance.",
- "items": {
- "properties": {
- "name": {
- "description": "File name",
- "type": "string"
- },
- "url": {
- "description": "URL of an already-uploaded file. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset.",
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "name",
- "url"
- ],
- "type": "object"
- },
- "maxItems": 20,
- "type": "array"
-}
addedInput schema / properties / grounding
Added value: +{
+ "description": "Review the quota axes before any Mind exists, and pass a reviewed snapshot back unchanged to create from it.",
+ "properties": {
+ "preview": {
+ "description": "Review the quota axes BEFORE any Mind exists. When true, the server runs research grounding and deterministic cohort allocation without creating an Audience or Minds or consuming a generation allowance. To revise a saved preview without repeating research, pass its unchanged reviewedGroundingJson/SHA pair together with groundingPreview and the revised exclusion/allocation options. Fresh research uses the same durable operation as the public REST API; this tool polls it to completion. The response includes effective target percentages and integer counts; explicit allocation targets that do not match grounded axes fail closed. Present the plan to the user, then call again without groundingPreview and pass reviewedGroundingJson plus reviewedGroundingSha256 unchanged with the same allocation options.",
+ "type": "boolean"
+ },
+ "reviewedJson": {
+ "description": "Exact reviewedGroundingJson returned by groundingPreview or import_audience_sources. Pass it unchanged together with reviewedGroundingSha256 on a re-preview or creation call; the server reuses this reviewed snapshot instead of rerunning grounding research.",
+ "maxLength": 2000000,
+ "minLength": 1,
+ "type": "string"
+ },
+ "reviewedSha256": {
+ "description": "SHA-256 returned by the same groundingPreview. Required together with reviewedGroundingJson; any mismatch is rejected before Audience or Mind materialisation.",
+ "pattern": "^[0-9a-f]{64}$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+}
removedInput schema / properties / groundingPreview
Removed value: -{
- "description": "Review the quota axes BEFORE any Mind exists. When true, the server runs research grounding and deterministic cohort allocation without creating an Audience or Minds or consuming a generation allowance. To revise a saved preview without repeating research, pass its unchanged reviewedGroundingJson/SHA pair together with groundingPreview and the revised exclusion/allocation options. Fresh research uses the same durable operation as the public REST API; this tool polls it to completion. The response includes effective target percentages and integer counts; explicit allocation targets that do not match grounded axes fail closed. Present the plan to the user, then call again without groundingPreview and pass reviewedGroundingJson plus reviewedGroundingSha256 unchanged with the same allocation options.",
- "type": "boolean"
-}
removedInput schema / properties / groupCreationMode
Removed value: -{
- "description": "Legacy alias for audienceCreationMode — same values, same behaviour. How the Audience is sized. \"balanced\" (default): compact and representative for everyday research. It is the only mode with a hard wall on a size you state — a memberCount above 20 is refused with 403 MODE_CAP. \"segment_coverage\": two representatives per limiting grounded cell, from a 10-Mind floor; automatic sizing stops at 50, but a memberCount you state is bounded only by your plan. \"benchmark_depth\": repeated representation of limiting grounded cells for validation-ready segmentation; bounded by your plan allowance. The deeper two require a Team (enterprise) plan — on other plans the server SILENTLY downgrades to \"balanced\" and echoes the effective mode in structuredContent.audience.audienceCreationMode. Call get_audience_limits to see the ceilings that apply to your account.",
- "enum": [
- "balanced",
- "segment_coverage",
- "benchmark_depth"
- ],
- "type": "string"
-}
removedInput schema / properties / includeWebSearch
Removed value: -{
- "default": true,
- "description": "Set false to skip Exa web search and extraction completely. The Audience is then grounded only on the brief and supplied files, links, keywords, and structurally parsed respondent data.",
- "type": "boolean"
-}
removedInput schema / properties / keywords
Removed value: -{
- "description": "Optional Exa web-search seeds added alongside the brief.",
- "items": {
- "type": "string"
- },
- "maxItems": 10,
- "type": "array"
-}
removedInput schema / properties / links
Removed value: -{
- "description": "Optional URLs scraped server-side for additional context (e.g. an article describing the population).",
- "items": {
- "type": "string"
- },
- "maxItems": 10,
- "type": "array"
-}
removedInput schema / properties / memberCount
Removed value: -{
- "description": "Exact number of Minds to create. Pass this whenever the user states a size (\"exactly 50 per region\", \"genau 50 Minds je Zelle\") instead of relying on the server to parse the number out of the brief. When omitted, the size is inferred from the brief and, failing that, from the creation mode's evidence-based automatic sizing. Two separate refusals apply: 403 MODE_CAP above 20 in \"balanced\" mode (switch to segment_coverage or benchmark_depth), and 403 PLAN_LIMIT above your plan's per-Audience cap. The 6000 accepted here is the absolute system ceiling, not your allowance — call get_audience_limits for the real one. The Audience is never created at a partial size.",
- "exclusiveMinimum": 0,
- "maximum": 6000,
- "type": "integer"
-}
addedInput schema / properties / research
Added value: +{
+ "description": "Extra material the grounding research reads alongside the brief, and whether web search runs at all.",
+ "properties": {
+ "files": {
+ "description": "Optional already-uploaded research files. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset. The server analyzes these through the same extended screener/questionnaire path as the in-app New Audience uploader, including study roles, screening and quota rules, review distributions, and grounding provenance.",
+ "items": {
+ "properties": {
+ "name": {
+ "description": "File name",
+ "type": "string"
+ },
+ "url": {
+ "description": "URL of an already-uploaded file. MCP cannot read or upload a local file:// path. Use a fetchable HTTP(S) URL, a signed URL supplied by the client for the attached file, or an existing Minds workspace upload URL/path. Study tools import external file URLs into durable Minds storage before saving or running. A workspace upload reused as a Study asset must sit under chat/<userId>/: request the signed upload with folder \"chat\" and pass that storage path or its /api/uploads/chat/ URL. A temp/, portfolio/, or context/ path — and any /api/uploads/file-access/ URL — is refused as not belonging to the workspace owner and is never re-fetched; pass a plain external URL instead. The Study refuses to start if Minds cannot read the asset.",
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "url"
+ ],
+ "type": "object"
+ },
+ "maxItems": 20,
+ "type": "array"
+ },
+ "includeWebSearch": {
+ "default": true,
+ "description": "Set false to skip Exa web search and extraction completely. The Audience is then grounded only on the brief and supplied files, links, keywords, and structurally parsed respondent data.",
+ "type": "boolean"
+ },
+ "keywords": {
+ "description": "Optional Exa web-search seeds added alongside the brief.",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 10,
+ "type": "array"
+ },
+ "links": {
+ "description": "Optional URLs scraped server-side for additional context (e.g. an article describing the population).",
+ "items": {
+ "type": "string"
+ },
+ "maxItems": 10,
+ "type": "array"
+ }
+ },
+ "type": "object"
+}
removedInput schema / properties / reviewedGroundingJson
Removed value: -{
- "description": "Exact reviewedGroundingJson returned by groundingPreview or import_audience_sources. Pass it unchanged together with reviewedGroundingSha256 on a re-preview or creation call; the server reuses this reviewed snapshot instead of rerunning grounding research.",
- "maxLength": 2000000,
- "minLength": 1,
- "type": "string"
-}
removedInput schema / properties / reviewedGroundingSha256
Removed value: -{
- "description": "SHA-256 returned by the same groundingPreview. Required together with reviewedGroundingJson; any mismatch is rejected before Audience or Mind materialisation.",
- "pattern": "^[0-9a-f]{64}$",
- "type": "string"
-}
removedInput schema / properties / text
Removed value: -{
- "description": "Legacy alias for `brief`. Accepted for back-compat.",
- "maxLength": 200000,
- "minLength": 1,
- "type": "string"
-}
removedInput schema / properties / trainMembers
Removed value: -{
- "description": "Deprecated; omit it. Every member of every Audience is trained individually in the background, including reviewed-dataset cohorts of more than ~40 Minds (each keeps its deterministic cohort profile and the request locale). true is accepted as a no-op; false is rejected, because it used to create untrained Minds with an empty system prompt that reported ready. Cost and time: one Mind training per member; a 100-Mind cohort takes tens of minutes to a few hours. The tool returns as soon as the Audience exists (structuredContent.audience.memberTraining reports what was queued); wait until every member reports readyToChat (get_mind_status or GET /api/v1/minds/{id}/training) before running a Study, which refuses Audiences with untrained members.",
- "type": "boolean"
-}