Vaquill AI · Schema

AskRequest

One turn posted to a conversation. Answers 202 with an operation. There is no streaming variant and no synchronous mode: a customer's backend is not a browser, the answer is well over the ten-second threshold that decides 200 from 202, and one capability with two response shapes is two integrations to test.

LegalStatutesRegulationsLegal ResearchLawComplianceLegal TechnologyGovernment DataMCPIndiaContracts

Properties

Name Type Description
question string What to ask, 1 to 50,000 characters. Whitespace is trimmed. Put documents in `groundIn` or `alsoConsider` rather than pasting them here.
groundIn array LOCK the answer to these `doc_` documents, at most 20. The corpus and web are suppressed and the answer is grounded only in these files. Mutually exclusive with `alsoConsider`.
alsoConsider array ADD these `doc_` documents to what is searched, at most 20. Unlike `groundIn` the corpus and web stay in play, so use this when the documents are context rather than the whole answer.
alsoConsiderDrafts array `drf_` identifiers of in-progress drafts to pin into the answer's context, at most 20.
skillSlug object Slug of a skill whose prompt should steer this answer. List them with `GET /v1/skills`. An unknown or invisible slug is refused rather than ignored.
ragTier object `standard` or `deep`. Omit to use the matter's setting. Cannot be `deep` together with `enableAgenticMode`.
enableWebSearch object Omit to use the matter's setting, which defaults to ON. `false` turns web search off for this turn only and is not persisted.
enableCorpusSearch object Search the shared US legal corpus (statutes, regulations, court rules, case law). Omit to use the matter's setting, which defaults to ON.
enableMatterDocsSearch object Search the matter's own uploaded documents. Omit to use the matter's setting, which defaults to ON.
enableDraftSearch object Search the organization's in-progress drafts. Request-only: there is no column for it on a matter, so omitting it leaves the pipeline's own default rather than falling back to a matter setting.
enableAgenticMode object Let the model drive tools (web search, URL reading, document search) rather than retrieving once. Omit to use the matter's setting, which defaults to OFF. Agentic mode runs on the standard model, so i
enableDeepResearchMode object Answer from a long web-research pass instead of retrieval. Omit to use the matter's setting, which defaults to OFF. **Forced off when `groundIn` is set or the question refers to the matter's documents
countryCode object ISO 3166-1 alpha-2 jurisdiction for this turn. Omit to use the matter's setting.
usStates array Retrieval scope: two-letter state codes and/or `federal`, for example `["ca", "federal"]`. Omit to use the matter's setting.
usCorpusTypes array Retrieval scope by KIND of law rather than by government: `STATE`, `REGULATION`, `STATE_RULES` and so on. An unrecognised token is refused, never dropped: silently ignoring one hands back the whole un
View JSON Schema on GitHub

JSON Schema

vaquill-ai-ask-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/vaquill-ai/main/json-schema/vaquill-ai-ask-request-schema.json",
  "title": "AskRequest",
  "description": "One turn posted to a conversation.\n\nAnswers 202 with an operation. There is no streaming variant and no\nsynchronous mode: a customer's backend is not a browser, the answer is well\nover the ten-second threshold that decides 200 from 202, and one capability\nwith two response shapes is two integrations to test.",
  "x-generated": "2026-10-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/vaquill-ai-workspace-openapi.yml#/components/schemas/AskRequest",
  "properties": {
    "question": {
      "type": "string",
      "maxLength": 50000,
      "minLength": 1,
      "title": "Question",
      "description": "What to ask, 1 to 50,000 characters. Whitespace is trimmed. Put documents in `groundIn` or `alsoConsider` rather than pasting them here."
    },
    "groundIn": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 20,
      "title": "Groundin",
      "description": "LOCK the answer to these `doc_` documents, at most 20. The corpus and web are suppressed and the answer is grounded only in these files. Mutually exclusive with `alsoConsider`."
    },
    "alsoConsider": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 20,
      "title": "Alsoconsider",
      "description": "ADD these `doc_` documents to what is searched, at most 20. Unlike `groundIn` the corpus and web stay in play, so use this when the documents are context rather than the whole answer."
    },
    "alsoConsiderDrafts": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 20,
      "title": "Alsoconsiderdrafts",
      "description": "`drf_` identifiers of in-progress drafts to pin into the answer's context, at most 20."
    },
    "skillSlug": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 200
        },
        {
          "type": "null"
        }
      ],
      "title": "Skillslug",
      "description": "Slug of a skill whose prompt should steer this answer. List them with `GET /v1/skills`. An unknown or invisible slug is refused rather than ignored."
    },
    "ragTier": {
      "anyOf": [
        {
          "type": "string",
          "enum": [
            "standard",
            "deep"
          ]
        },
        {
          "type": "null"
        }
      ],
      "title": "Ragtier",
      "description": "`standard` or `deep`. Omit to use the matter's setting. Cannot be `deep` together with `enableAgenticMode`."
    },
    "enableWebSearch": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enablewebsearch",
      "description": "Omit to use the matter's setting, which defaults to ON. `false` turns web search off for this turn only and is not persisted."
    },
    "enableCorpusSearch": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enablecorpussearch",
      "description": "Search the shared US legal corpus (statutes, regulations, court rules, case law). Omit to use the matter's setting, which defaults to ON."
    },
    "enableMatterDocsSearch": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enablematterdocssearch",
      "description": "Search the matter's own uploaded documents. Omit to use the matter's setting, which defaults to ON."
    },
    "enableDraftSearch": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enabledraftsearch",
      "description": "Search the organization's in-progress drafts. Request-only: there is no column for it on a matter, so omitting it leaves the pipeline's own default rather than falling back to a matter setting."
    },
    "enableAgenticMode": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enableagenticmode",
      "description": "Let the model drive tools (web search, URL reading, document search) rather than retrieving once. Omit to use the matter's setting, which defaults to OFF. Agentic mode runs on the standard model, so it cannot be combined with `ragTier: deep`."
    },
    "enableDeepResearchMode": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enabledeepresearchmode",
      "description": "Answer from a long web-research pass instead of retrieval. Omit to use the matter's setting, which defaults to OFF. **Forced off when `groundIn` is set or the question refers to the matter's documents**: answering from the web while ignoring a pinned file is wrong. Compare `requestedSettings` with `effectiveSettings` on the answer to see whether it applied."
    },
    "countryCode": {
      "anyOf": [
        {
          "type": "string",
          "pattern": "^[A-Z]{2}$"
        },
        {
          "type": "null"
        }
      ],
      "title": "Countrycode",
      "description": "ISO 3166-1 alpha-2 jurisdiction for this turn. Omit to use the matter's setting."
    },
    "usStates": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Usstates",
      "description": "Retrieval scope: two-letter state codes and/or `federal`, for example `[\"ca\", \"federal\"]`. Omit to use the matter's setting."
    },
    "usCorpusTypes": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Uscorpustypes",
      "description": "Retrieval scope by KIND of law rather than by government: `STATE`, `REGULATION`, `STATE_RULES` and so on. An unrecognised token is refused, never dropped: silently ignoring one hands back the whole unfiltered corpus and the answer looks just as confident."
    }
  },
  "additionalProperties": false,
  "type": "object",
  "required": [
    "question"
  ]
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/vaquill-ai-ask-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.