Skip to main content
Glama

Minds: Synthetic Market Research

Get Study Status

get_study_status
DestructiveIdempotent

Returns Study progress, Audience results, Mind responses and export status in the Study display locale. questionId selects a question or durable request preparation; runId selects a confirmed run; otherwise covers the Study. In-flight questions show zero answered until complete. requestPreparations separates interpretation/review/admission from answers. Result reads can queue recovery and overwrite stale derived analysis from accepted answers, without rerunning respondents. Export-only polling reads its job.

Input Schema

NameRequiredDescriptionDefault
runIdNoMulti-question run ID from start_study_run. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view.
studyNoWhich Study to inspect. Omit entirely to use the active Study from this MCP session.
exportNoPoll one asynchronous export job created by the export operation.
questionIdNoReturn only this request or question: use the questionId returned by ask_study or ask_audience, including a preparing receipt, on the first progress check for that request. The same logical ID follows preparation and any admitted question; operationId is a separate preparation identifier, not a questionId. An activeQuestions/recentResults questionId also selects that question. Omit only for a Study-wide progress request.

Output Schema

NameRequiredDescriptionDefault
nameNoStudy name.
runIdNoThe multi-question run, when one was requested.
localeNoStudy display locale.
apiBaseNoMinds base URL.
studyIdNoThe Study.
artifactsNoResults and artifacts of the requested run. A response artifact may carry answerConsistency {version, flags: [{mindId, withItem, reason}]}.
audiencesNoAudiences with their Minds.
createdAtNoCreation time (ISO 8601).
planLimitNoPresent when a plan limit refused, truncated or stopped Study work.
updatedAtNoLast update time (ISO 8601).
formationsNoAudience breakdowns available for the results.
exportStatusNoStatus of the requested asynchronous export job, if any.
messageCountNoNumber of Study messages.
workspaceUrlNoAuthenticated Minds workspace link for the Study.
publicShareIdNoPublic share identifier, or null.
recentResultsNoCompleted questions with their per-Audience outputData and stimuli (the media the Minds were shown: name, url, mediaType). For coded qualitative answers, audiences[].themeMentions counts Minds per theme (multi-label, can exceed 100% in total) while distribution counts only each answer's primary theme.
sharedStudyUrlNoPublic share link, or null when link sharing is off.
activeQuestionsNoQuestions still running: questionId, question, status, totalMinds, answeredCount.
failedQuestionsNoQuestions that failed, with an error; a question a plan limit kept from running also carries planLimit.
answerConsistencyNoRun with runId only: whether each Mind's answers were checked against each other. version, status (checked | incomplete | failed), checkedMinds, flaggedMinds, flagCount, uncheckedMinds, usage {calls, inputTokens, outputTokens}, and unsavedItems (question indexes whose flags could not be saved) when any. A failed check records only version and status.
studyPresentationNoSaved Study headings and original question context aligned by questionId; used by the response widget.
requestPreparationsNoAccepted request preparation receipts, separate from questions and results. preparing has no submitted question; planning_required retains the original request and proposed plan awaiting explicit confirmation, and an uploaded questionnaire's questionnaire with the exact draft (draftPlanId, revision) that start_study_run starts after confirmation; admitted identifies a run whose own row supplies progress. clientRequestId selects the same request through get_study_status questionId.
isLinkSharingEnabledNoWhether the public share link is on.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / questionId / description
      Previous value: -"Return only this question: the questionId from ask_study or ask_audience, or from an activeQuestions/recentResults entry. Keeps the response small. Omit to cover every question the Study has run."New value: +"Return only this request or question: use the questionId returned by ask_study or ask_audience, including a preparing receipt, on the first progress check for that request. The same logical ID follows preparation and any admitted question; operationId is a separate preparation identifier, not a questionId. An activeQuestions/recentResults questionId also selects that question. Omit only for a Study-wide progress request."
  2. Changed1 schema field changed
    • changedOutput schema / properties / requestPreparations / description
      Previous value: -"Accepted request preparation receipts, separate from questions and results. preparing has no submitted question; planning_required retains the original request and proposed plan awaiting explicit confirmation; admitted identifies a run whose own row supplies progress. clientRequestId selects the same request through get_study_status questionId."New value: +"Accepted request preparation receipts, separate from questions and results. preparing has no submitted question; planning_required retains the original request and proposed plan awaiting explicit confirmation, and an uploaded questionnaire's questionnaire with the exact draft (draftPlanId, revision) that start_study_run starts after confirmation; admitted identifies a run whose own row supplies progress. clientRequestId selects the same request through get_study_status questionId."
  3. Changed1 schema field changed
    • addedOutput schema / properties / requestPreparations
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {},
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Accepted request preparation receipts, separate from questions and results. preparing has no submitted question; planning_required retains the original request and proposed plan awaiting explicit confirmation; admitted identifies a run whose own row supplies progress. clientRequestId selects the same request through get_study_status questionId."
      +}
  4. Changed3 schema fields changed
    • changedInput schema / properties / study / properties / id / description
      Previous value: -"Study ID (UUID). Omit with studyName to use the active Study."New value: +"Study ID (UUID). Omit id and name to use the active Study."
    • changedInput schema / properties / study / properties / name / description
      Previous value: -"Study name (exact or partial, case-insensitive; fuzzy fallback for typos). Omit with studyId to use the active Study."New value: +"Study name (exact or partial, case-insensitive; fuzzy fallback for typos). Omit id and name to use the active Study."
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "billingMode": {
      -        "description": "prepaid (purchased response balance) or subscription (recurring allowance), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "context": {
      -        "description": "sharedStudyUsage or sharedMindUsage when the owner pays for the refused work.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "requested": {
      -        "description": "Responses or answers the refused work needed, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits and absent when the shared owner must act.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page; absent when the shared owner must act.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "billingMode": {
      +        "description": "prepaid (purchased response balance) or subscription (recurring allowance), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "context": {
      +        "description": "sharedStudyUsage or sharedMindUsage when the owner pays for the refused work.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the plans link.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "plansUrl": {
      +        "description": "Absolute link to the public Minds plans page; absent when the shared owner must act.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  5. Changed1 schema field changed
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "requested": {
      -        "description": "Responses or answers the refused work needed, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "billingMode": {
      +        "description": "prepaid (purchased response balance) or subscription (recurring allowance), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "context": {
      +        "description": "sharedStudyUsage or sharedMindUsage when the owner pays for the refused work.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits and absent when the shared owner must act.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page; absent when the shared owner must act.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  6. Changed2 schema fields changed
    • changedInput schema / properties / runId / description
      Previous value: -"Multi-question run ID from run_study_questions. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view."New value: +"Multi-question run ID from start_study_run. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view."
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "requested": {
      -        "description": "Responses or answers the refused work needed, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with resume_study_run runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  7. Changed1 schema field changed
    • changedInput schema / properties / study / properties / name / description
      Previous value: -"Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to use the active Study."New value: +"Study name (exact or partial, case-insensitive; fuzzy fallback for typos). Omit with studyId to use the active Study."
  8. Changed1 schema field changed
    • changedInput schema / properties / export / properties / jobId / description
      Previous value: -"Export job ID returned by export_study. Pass it with exportKind and exportFormat to poll that exact artifact."New value: +"Export job ID returned by export_study. Pass it with the export kind and format of that job to poll that exact artifact."
  9. Changed1 schema field changed
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "description": "Whether any question of this request ran.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "kind": {
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "limit": {
      -        "description": "Allowance of the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "message": {
      -        "description": "One user-facing sentence with the link(s).",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "outcome": {
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "periodEnd": {
      -        "description": "When the allowance renews (ISO 8601), when known.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "remaining": {
      -        "description": "Allowance left, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "responseCreditsUrl": {
      -        "description": "Absolute link to buy response credits; only for response_credits.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "resumable": {
      -        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      -        "type": [
      -          "boolean",
      -          "null"
      -        ]
      -      },
      -      "runId": {
      -        "description": "The run concerned, when one exists.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestionCount": {
      -        "description": "Questions the limit kept from running.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "description": "Questions in the request or run, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      },
      -      "upgradeUrl": {
      -        "description": "Absolute link to the Minds plans page.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "used": {
      -        "description": "Allowance used in the current period, when known.",
      -        "type": [
      -          "number",
      -          "null"
      -        ]
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "requested": {
      +        "description": "Responses or answers the refused work needed, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  10. Changed26 schema fields changed
    • removedOutput schema / properties / apiBase / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / apiBase / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / createdAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / createdAt / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / isLinkSharingEnabled / anyOf
      Removed value: -[
      -  {
      -    "type": "boolean"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / isLinkSharingEnabled / type
      Added value: +[
      +  "boolean",
      +  "null"
      +]
    • removedOutput schema / properties / locale / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / locale / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / messageCount / anyOf
      Removed value: -[
      -  {
      -    "type": "number"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / messageCount / type
      Added value: +[
      +  "number",
      +  "null"
      +]
    • removedOutput schema / properties / name / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / name / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • changedOutput schema / properties / planLimit / anyOf
      Previous value: -[
      -  {
      -    "additionalProperties": {},
      -    "properties": {
      -      "executionStarted": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Whether any question of this request ran."
      -      },
      -      "kind": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance)."
      -      },
      -      "limit": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Allowance of the current period, when known."
      -      },
      -      "message": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "One user-facing sentence with the link(s)."
      -      },
      -      "outcome": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused."
      -      },
      -      "periodEnd": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "When the allowance renews (ISO 8601), when known."
      -      },
      -      "remaining": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Allowance left, when known."
      -      },
      -      "responseCreditsUrl": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Absolute link to buy response credits; only for response_credits."
      -      },
      -      "resumable": {
      -        "anyOf": [
      -          {
      -            "type": "boolean"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it."
      -      },
      -      "runId": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "The run concerned, when one exists."
      -      },
      -      "skippedQuestionCount": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions the limit kept from running."
      -      },
      -      "skippedQuestions": {
      -        "anyOf": [
      -          {
      -            "items": {},
      -            "type": "array"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions not asked: { index (zero-based), text }."
      -      },
      -      "totalQuestionCount": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Questions in the request or run, when known."
      -      },
      -      "upgradeUrl": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Absolute link to the Minds plans page."
      -      },
      -      "used": {
      -        "anyOf": [
      -          {
      -            "type": "number"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "Allowance used in the current period, when known."
      -      }
      -    },
      -    "type": "object"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": {},
      +    "properties": {
      +      "executionStarted": {
      +        "description": "Whether any question of this request ran.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "kind": {
      +        "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "limit": {
      +        "description": "Allowance of the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "message": {
      +        "description": "One user-facing sentence with the link(s).",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "outcome": {
      +        "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "periodEnd": {
      +        "description": "When the allowance renews (ISO 8601), when known.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "remaining": {
      +        "description": "Allowance left, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "responseCreditsUrl": {
      +        "description": "Absolute link to buy response credits; only for response_credits.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "resumable": {
      +        "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it.",
      +        "type": [
      +          "boolean",
      +          "null"
      +        ]
      +      },
      +      "runId": {
      +        "description": "The run concerned, when one exists.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestionCount": {
      +        "description": "Questions the limit kept from running.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "skippedQuestions": {
      +        "anyOf": [
      +          {
      +            "items": {},
      +            "type": "array"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "Questions not asked: { index (zero-based), text }."
      +      },
      +      "totalQuestionCount": {
      +        "description": "Questions in the request or run, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      },
      +      "upgradeUrl": {
      +        "description": "Absolute link to the Minds plans page.",
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "used": {
      +        "description": "Allowance used in the current period, when known.",
      +        "type": [
      +          "number",
      +          "null"
      +        ]
      +      }
      +    },
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / publicShareId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / publicShareId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / runId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / runId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / sharedStudyUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / sharedStudyUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / studyId / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / studyId / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedOutput schema / properties / studyPresentation
      Added value: +{
      +  "description": "Saved Study headings and original question context aligned by questionId; used by the response widget."
      +}
    • removedOutput schema / properties / updatedAt / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / updatedAt / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / properties / workspaceUrl / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedOutput schema / properties / workspaceUrl / type
      Added value: +[
      +  "string",
      +  "null"
      +]
  11. Changed1 schema field changed
    • changedOutput schema / properties / recentResults / description
      Previous value: -"Completed questions with their per-Audience outputData."New value: +"Completed questions with their per-Audience outputData and stimuli (the media the Minds were shown: name, url, mediaType). For coded qualitative answers, audiences[].themeMentions counts Minds per theme (multi-label, can exceed 100% in total) while distribution counts only each answer's primary theme."
  12. Changed2 schema fields changed
    • changedOutput schema / properties / failedQuestions / description
      Previous value: -"Questions that failed, with an error."New value: +"Questions that failed, with an error; a question a plan limit kept from running also carries planLimit."
    • addedOutput schema / properties / planLimit
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": {},
      +      "properties": {
      +        "executionStarted": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Whether any question of this request ran."
      +        },
      +        "kind": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "study_answers (Free plan monthly Study answers) or response_credits (synthetic-response allowance)."
      +        },
      +        "limit": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Allowance of the current period, when known."
      +        },
      +        "message": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "One user-facing sentence with the link(s)."
      +        },
      +        "outcome": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "refused (nothing started or charged), partial (only the first questions run), stopped (a run stopped at the limit), or resume_refused."
      +        },
      +        "periodEnd": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "When the allowance renews (ISO 8601), when known."
      +        },
      +        "remaining": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Allowance left, when known."
      +        },
      +        "responseCreditsUrl": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Absolute link to buy response credits; only for response_credits."
      +        },
      +        "resumable": {
      +          "anyOf": [
      +            {
      +              "type": "boolean"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "True when the run can be continued in place with run_study_questions resume.runId once the plan allows it."
      +        },
      +        "runId": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "The run concerned, when one exists."
      +        },
      +        "skippedQuestionCount": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Questions the limit kept from running."
      +        },
      +        "skippedQuestions": {
      +          "anyOf": [
      +            {
      +              "items": {},
      +              "type": "array"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Questions not asked: { index (zero-based), text }."
      +        },
      +        "totalQuestionCount": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Questions in the request or run, when known."
      +        },
      +        "upgradeUrl": {
      +          "anyOf": [
      +            {
      +              "type": "string"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Absolute link to the Minds plans page."
      +        },
      +        "used": {
      +          "anyOf": [
      +            {
      +              "type": "number"
      +            },
      +            {
      +              "type": "null"
      +            }
      +          ],
      +          "description": "Allowance used in the current period, when known."
      +        }
      +      },
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Present when a plan limit refused, truncated or stopped Study work."
      +}
  13. Changed2 schema fields changed
    • addedOutput schema / properties / answerConsistency
      Added value: +{
      +  "description": "Run with runId only: whether each Mind's answers were checked against each other. version, status (checked | incomplete | failed), checkedMinds, flaggedMinds, flagCount, uncheckedMinds, usage {calls, inputTokens, outputTokens}, and unsavedItems (question indexes whose flags could not be saved) when any. A failed check records only version and status."
      +}
    • changedOutput schema / properties / artifacts / description
      Previous value: -"Results and artifacts of the requested run."New value: +"Results and artifacts of the requested run. A response artifact may carry answerConsistency {version, flags: [{mindId, withItem, reason}]}."
  14. Changed12 schema fields changed
    • addedInput schema / properties / export
      Added value: +{
      +  "description": "Poll one asynchronous export job created by the export operation.",
      +  "properties": {
      +    "format": {
      +      "description": "Asynchronous export format whose status should be returned (defaults to pdf). HTML and PNG are accepted here only to finish polling previously created executive-summary jobs.",
      +      "enum": [
      +        "pdf",
      +        "html",
      +        "png",
      +        "docx",
      +        "pptx",
      +        "csv",
      +        "xls",
      +        "sav",
      +        "md"
      +      ],
      +      "type": "string"
      +    },
      +    "jobId": {
      +      "description": "Export job ID returned by export_study. Pass it with exportKind and exportFormat to poll that exact artifact.",
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "kind": {
      +      "description": "Asynchronous export kind whose status should be returned (defaults to full_report).",
      +      "enum": [
      +        "executive_brief",
      +        "full_report",
      +        "raw_data"
      +      ],
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / exportFormat
      Removed value: -{
      -  "description": "Asynchronous export format whose status should be returned (defaults to pdf). HTML and PNG are accepted here only to finish polling previously created executive-summary jobs.",
      -  "enum": [
      -    "pdf",
      -    "html",
      -    "png",
      -    "docx",
      -    "pptx",
      -    "csv",
      -    "xls",
      -    "sav",
      -    "md"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / exportJobId
      Removed value: -{
      -  "description": "Export job ID returned by export_study. Pass it with exportKind and exportFormat to poll that exact artifact.",
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / exportKind
      Removed value: -{
      -  "description": "Asynchronous export kind whose status should be returned (defaults to full_report).",
      -  "enum": [
      -    "executive_brief",
      -    "full_report",
      -    "raw_data"
      -  ],
      -  "type": "string"
      -}
    • removedInput schema / properties / panelId
      Removed value: -{
      -  "description": "Study ID (UUID; legacy wire field name: panelId). Omit both panelId and panelName only for the active Study from this MCP session.",
      -  "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": "string"
      -}
    • removedInput schema / properties / panelName
      Removed value: -{
      -  "description": "Study name (fuzzy matched; legacy wire field name: panelName). Omit both panelName and panelId only for the active Study from this MCP session.",
      -  "type": "string"
      -}
    • addedInput schema / properties / runId
      Added value: +{
      +  "description": "Multi-question run ID from run_study_questions. Supplying it returns that run: its confirmed plan, question-level progress and response artifacts, instead of the Study-wide view.",
      +  "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": "string"
      +}
    • addedInput schema / properties / study
      Added value: +{
      +  "description": "Which Study to inspect. Omit entirely to use the active Study from this MCP session.",
      +  "properties": {
      +    "id": {
      +      "description": "Study ID (UUID). Omit with studyName to use the active Study.",
      +      "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": "string"
      +    },
      +    "name": {
      +      "description": "Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to use the active Study.",
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • removedInput schema / properties / studyId
      Removed value: -{
      -  "description": "Study ID (UUID). Omit with studyName to use the active Study.",
      -  "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": "string"
      -}
    • removedInput schema / properties / studyName
      Removed value: -{
      -  "description": "Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to use the active Study.",
      -  "type": "string"
      -}
    • addedOutput schema / properties / artifacts
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {},
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "Results and artifacts of the requested run."
      +}
    • addedOutput schema / properties / runId
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "The multi-question run, when one was requested."
      +}
  15. Changed1 schema field changed
    • changedInput schema / properties / studyName / description
      Previous value: -"Study name (fuzzy matched). Omit with studyId to use the active Study."New value: +"Study name (fuzzy matched among the newest 1,000 visible Studies; use studyId for older records). Omit with studyId to use the active Study."
  16. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "activeQuestions": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Questions still running: questionId, question, status, totalMinds, answeredCount."
      +    },
      +    "apiBase": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Minds base URL."
      +    },
      +    "audiences": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Audiences with their Minds."
      +    },
      +    "createdAt": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Creation time (ISO 8601)."
      +    },
      +    "exportStatus": {
      +      "description": "Status of the requested asynchronous export job, if any."
      +    },
      +    "failedQuestions": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Questions that failed, with an error."
      +    },
      +    "formations": {
      +      "description": "Audience breakdowns available for the results."
      +    },
      +    "isLinkSharingEnabled": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Whether the public share link is on."
      +    },
      +    "locale": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Study display locale."
      +    },
      +    "messageCount": {
      +      "anyOf": [
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Number of Study messages."
      +    },
      +    "name": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Study name."
      +    },
      +    "publicShareId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Public share identifier, or null."
      +    },
      +    "recentResults": {
      +      "anyOf": [
      +        {
      +          "items": {},
      +          "type": "array"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Completed questions with their per-Audience outputData."
      +    },
      +    "sharedStudyUrl": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Public share link, or null when link sharing is off."
      +    },
      +    "studyId": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "The Study."
      +    },
      +    "updatedAt": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Last update time (ISO 8601)."
      +    },
      +    "workspaceUrl": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Authenticated Minds workspace link for the Study."
      +    }
      +  },
      +  "type": "object"
      +}
  17. Changed1 schema field changed
    • addedInput schema / properties / questionId
      Added value: +{
      +  "description": "Return only this question: the questionId from ask_study or ask_audience, or from an activeQuestions/recentResults entry. Keeps the response small. Omit to cover every question the Study has run.",
      +  "maxLength": 200,
      +  "minLength": 1,
      +  "type": "string"
      +}
  18. Changed1 schema field changed
    • changedInput schema / properties / exportFormat / description
      Previous value: -"Asynchronous export format whose status should be returned (defaults to pdf)."New value: +"Asynchronous export format whose status should be returned (defaults to pdf). HTML and PNG are accepted here only to finish polling previously created executive-summary jobs."
  19. Added

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations mark this read-looking tool as destructiveHint=true and non-readOnly, and the description actually accounts for that: result reads "can queue recovery and overwrite stale derived analysis from accepted answers, without rerunning respondents." That is genuine side-effect disclosure the annotations alone would not explain. It also notes in-flight questions report zero answered until complete. It does not state permission requirements or the cost/latency of triggering recovery, keeping it below 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is front-loaded with the return content and mode selection, but the sentences are heavily compressed and stack multiple clauses, and fragments like "Export-only polling reads its job." are telegraphic enough to require re-reading. Jargon such as "requestPreparations" is used without definition, so density costs clarity rather than buying it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not owed, and the description still covers all three scoping modes, the export polling case, and the in-flight zero-answer edge case. Since the destructive hint is non-obvious for a status tool, a fuller statement of what is overwritten and whether recovery is retryable would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, and the description adds a mutual-exclusion/precedence rule the schema never states: questionId and runId select different scopes, otherwise the Study-wide view applies. It also pins questionId to the ask_study/ask_audience receipt and warns that operationId is a different identifier. Remaining param details (study, export.kind/format/jobId) are left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and enumerated resources: "Returns Study progress, Audience results, Mind responses and export status in the Study display locale." It then distinguishes the three selection modes (questionId, runId, Study-wide), which separates it from siblings like render_study_results or read_study_summary. It falls short of 5 because phrases like "durable request preparation" and "requestPreparations" are undefined jargon that blur the exact resource being returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Selection rules are stated explicitly: questionId for a question or preparation, runId for a confirmed run, neither for the Study, and export polling for a job. That is real routing guidance rather than implied usage. It stops short of naming concrete alternatives for overlapping needs (e.g., render_study_results, read_study_summary), so the agent must still infer when this tool is the wrong choice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.