Minds Study Runs API

The Study Runs API from Minds — 1 operation(s) for study runs.

Business capability
Market Intelligence Management BC-400.30

Operations 2

GET /api/v1/studies/{studyId}/runs List durable study runs #
POST /api/v1/studies/{studyId}/runs Create a durable study run #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/getminds:getminds-study-runs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

getminds-study-runs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Minds Public Study Runs API
  version: v1
  description: 'OpenAPI 3.1.0 spec for the Minds public API (https://getminds.ai/api/v1 / https://api.getminds.ai/v1). Generate a typed TypeScript client by running an OpenAPI generator (e.g. `openapi-typescript`) against `/_openapi.json`. Auth: send `Authorization: Bearer minds_…_key`; create keys in Settings → API Keys.'
servers:
- url: https://api.getminds.ai
  description: Production (api subdomain)
- url: https://getminds.ai
  description: Production (apex)
security:
- ApiKeyAuth: []
tags:
- name: Study Runs
paths:
  /api/v1/studies/{studyId}/runs:
    get:
      parameters:
      - in: path
        name: studyId
        required: true
        schema:
          type: string
          format: uuid
      - in: query
        name: limit
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
      responses:
        '200':
          description: Most recent durable study runs.
      operationId: listStudyRuns
      summary: List durable study runs
      tags:
      - Study Runs
      security:
      - ApiKeyAuth: []
    post:
      parameters:
      - in: path
        name: studyId
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Research planning is required; no run was accepted.
        '202':
          description: Run accepted durably.
        '400':
          description: Invalid study, question, or idempotency key.
        '401':
          description: Missing or invalid API key.
        '403':
          description: Caller cannot use the study or has reached a plan limit.
        '404':
          description: Study not found.
        '409':
          description: Idempotency key reused with different input, or a Mind in an attached Audience has not finished training (code `PANEL_MINDS_NOT_READY`, with `data.notReady` naming them). Retry once training completes.
      operationId: createStudyRun
      summary: Create a durable study run
      description: Atomically accepts a study question and returns a durable run that can be polled, replayed, or cancelled independently of the request connection.
      tags:
      - Study Runs
      security:
      - ApiKeyAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - question
              properties:
                question:
                  type: string
                  minLength: 1
                clientRequestId:
                  type: string
                  format: uuid
                  description: Stable idempotency key for safe retries.
                audienceIds:
                  type: array
                  items:
                    type: string
                    format: uuid
                  description: Optional subset of attached Audiences. Defaults to all Audiences in the Study.
                attachments:
                  type: array
                  items:
                    type: object
                links:
                  type: array
                  items:
                    type: object
                keywords:
                  type: array
                  items:
                    type: object
                sourcePolicy:
                  type: string
                  enum:
                  - auto
                  - knowledge_only
                  default: auto
                modelConnection:
                  type: object
                  additionalProperties: false
                  required:
                  - id
                  - revision
                  properties:
                    id:
                      type: string
                      format: uuid
                    revision:
                      type: integer
                      minimum: 1
                  description: Verified connection belonging to the caller team, pinned to its current revision. Mutually exclusive with model/provider. Requires the model-connections feature and team entitlement. Applies to Mind responses and verbatim rendering; supporting research analysis retains platform models.
                model:
                  type: string
                  description: Optional per-request model override. Must be sent together with `provider`.
                provider:
                  type: string
                  enum:
                  - openai
                  - anthropic
                  - google
                  description: Provider for the model override. Must be sent together with `model`.
                historyMode:
                  type: string
                  enum:
                  - last5
                  - followup_only
                  - none
                  default: none
                  description: How much of each Mind's own prior answers this run carries. none (default) treats every question as an independent measurement and lets the run process questions in parallel. last5 gives each Mind its own five most recent answers, which costs roughly 2.4x wall-clock and buys ~0.6pp of accuracy. followup_only carries history for conversational turns but not questionnaire items.
                responseForm:
                  type: string
                  enum:
                  - concise
                  - standard
                  - expanded
                  description: 'How long and how shaped each answer should be, for qualitative questions: `concise` one short message (5-20 words), `standard` 1-3 sentences (25-90 words), `expanded` 2-5 sentences (70-180 words). Omit to let the question decide, which is the existing behaviour. An authored form outranks the phrasing of the question, so a fixed instrument keeps its exact wording. Ignored for scale, categorical and multiselect questions.'
                routeResearchBrief:
                  type: boolean
                  default: false
                  description: When true, a broad or generated research objective returns a reviewable planning_required response instead of being submitted verbatim to every respondent.
components:
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: 'Personal API key. Format: `Bearer minds_…_key`. Create one at https://getminds.ai/settings/api-keys.'