Space Frontiers · Schema

SearchRequestV2

ResearchScholarly SearchFull-Text SearchRetrievalRAGPatentsDocumentsOCRDocument RecognitionMCPA2AAgent-NativeAI AgentsDataSearch

Properties

Name Type Description
candidate_ranking object Candidate selection before the cross-encoder. Formula requires an explicit model or an artifact configured for the query's ranking profile.
combiner string Multi-query score combiner.
combiner_decay number Rank decay applied by the combiner.
combiner_temperature number Temperature for the weighted combiner.
combiner_top_k integer Number of sub-query ranks considered by the combiner.
cross_rerank boolean Final-stage hosted cross-encoder reranker. On by default; pass `false` to skip it. No-op unless the reranker is configured (`reranker.enabled`). Runs after Summa candidate selection.
cross_rerank_candidates integer Override the number of candidates retrieved and reranked (0 = config default). Capped at `MAX_CROSS_RERANK_POOL`.
deduplicate boolean Collapse duplicate documents.
filter_issns arraynull Restrict results to ISSNs.
filter_issued_after integernull Earliest issue time as a Unix timestamp.
filter_issued_before integernull Latest issue time as a Unix timestamp.
filter_languages arraynull Restrict results to ISO language codes.
filter_publisher stringnull Restrict results to a publisher.
filter_types arraynull Restrict results to document types.
filter_uri_prefixes arraynull Restrict results to canonical URI prefixes.
fulltext_phrase_boost numbernull Extra weight for exact phrase matches inside the BM25 branch (default 1.0). Zero disables the bonus while keeping quoted phrase constraints.
fulltext_weight numbernull Weight of the stemmed BM25 (full-text) channel in hybrid fusion; `0` disables it. Omit for the service default (1.0). Takes effect only on indexes whose schema carries the text fields.
heap_factor numbernull Summa candidate heap multiplier.
include_candidate_scores boolean Include raw document/passage features for formula-ranked returned hits. Training collection uses the separate complete-union export path.
include_rrf_scores boolean Include exact organic RRF votes alongside fusion results.
index_names array Logical indexes to search. Public values are `documents` and `social`.
l1 object
l2_rerank object Search API CatBoost selection before the cross-encoder. Auto activates a configured profile; off is the control. Catboost requires a model.
limit integer Maximum number of hits to return.
max_query_dims integer Maximum number of reformulated query dimensions; zero uses the service default.
mode object
offset integer Result offset. `offset + limit` cannot exceed 500.
possible_languages arraynull Language hints used by query processing.
pruning numbernull Optional sparse-vector pruning threshold.
query string Natural-language query (at most 16 KiB UTF-8). Wrap a span in double quotes (`"float-zero determinants"`) to require ordered indexed tokens. Straight, curly and guillemet pairs work; all quoted spans
ranking_mode object
referenced_by_uri object
return_documents boolean Include enriched document metadata and query-matched snippets. Set to false for bulk ranking jobs that only need document IDs and scores.
rrf_k numbernull RRF smoothing constant for hybrid fusion. Omit for the service default (60, the original-paper value); smaller values weight top-ranked results more aggressively.
tracing boolean Return bounded per-shard and per-vertical execution traces.
weight_threshold number Minimum generated sub-query weight.
View JSON Schema on GitHub

JSON Schema

machinelibrary-ai-search-request-v2-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/machinelibrary-ai/main/json-schema/machinelibrary-ai-search-request-v2-schema.json",
  "title": "SearchRequestV2",
  "x-generated": "2026-09-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/machinelibrary-ai-conversations-api-openapi.json#/components/schemas/SearchRequestV2",
  "additionalProperties": false,
  "properties": {
    "candidate_ranking": {
      "$ref": "#/$defs/CandidateRanking",
      "description": "Candidate selection before the cross-encoder. Formula requires an\nexplicit model or an artifact configured for the query's ranking profile."
    },
    "combiner": {
      "default": "log_sum_exp",
      "description": "Multi-query score combiner.",
      "type": "string"
    },
    "combiner_decay": {
      "default": 0.699999988079071,
      "description": "Rank decay applied by the combiner.",
      "format": "float",
      "type": "number"
    },
    "combiner_temperature": {
      "default": 1.5,
      "description": "Temperature for the weighted combiner.",
      "format": "float",
      "type": "number"
    },
    "combiner_top_k": {
      "default": 3,
      "description": "Number of sub-query ranks considered by the combiner.",
      "format": "int32",
      "minimum": 0,
      "type": "integer"
    },
    "cross_rerank": {
      "default": true,
      "description": "Final-stage hosted cross-encoder reranker. On by default; pass `false`\nto skip it. No-op unless the reranker is configured\n(`reranker.enabled`). Runs after Summa candidate selection.",
      "type": "boolean"
    },
    "cross_rerank_candidates": {
      "default": 0,
      "description": "Override the number of candidates retrieved and reranked (0 = config\ndefault). Capped at `MAX_CROSS_RERANK_POOL`.",
      "format": "int32",
      "maximum": 256,
      "minimum": 0,
      "type": "integer"
    },
    "deduplicate": {
      "default": true,
      "description": "Collapse duplicate documents.",
      "type": "boolean"
    },
    "filter_issns": {
      "description": "Restrict results to ISSNs.",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "filter_issued_after": {
      "description": "Earliest issue time as a Unix timestamp.",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "filter_issued_before": {
      "description": "Latest issue time as a Unix timestamp.",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "filter_languages": {
      "description": "Restrict results to ISO language codes.",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "filter_publisher": {
      "description": "Restrict results to a publisher.",
      "type": [
        "string",
        "null"
      ]
    },
    "filter_types": {
      "description": "Restrict results to document types.",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "filter_uri_prefixes": {
      "description": "Restrict results to canonical URI prefixes.",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "fulltext_phrase_boost": {
      "description": "Extra weight for exact phrase matches inside the BM25 branch (default\n1.0). Zero disables the bonus while keeping quoted phrase constraints.",
      "format": "float",
      "maximum": 10,
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    },
    "fulltext_weight": {
      "description": "Weight of the stemmed BM25 (full-text) channel in hybrid fusion; `0`\ndisables it. Omit for the service default (1.0). Takes effect only on\nindexes whose schema carries the text fields.",
      "format": "float",
      "maximum": 10,
      "minimum": 0,
      "type": [
        "number",
        "null"
      ]
    },
    "heap_factor": {
      "default": 0.8500000238418579,
      "description": "Summa candidate heap multiplier.",
      "format": "float",
      "type": [
        "number",
        "null"
      ]
    },
    "include_candidate_scores": {
      "description": "Include raw document/passage features for formula-ranked returned hits.\nTraining collection uses the separate complete-union export path.",
      "type": "boolean"
    },
    "include_rrf_scores": {
      "description": "Include exact organic RRF votes alongside fusion results.",
      "type": "boolean"
    },
    "index_names": {
      "default": [
        "documents"
      ],
      "description": "Logical indexes to search. Public values are `documents` and `social`.",
      "items": {
        "type": "string"
      },
      "maxItems": 8,
      "minItems": 1,
      "type": "array"
    },
    "l1": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/FormulaRanking",
          "description": "Symbolic formula over named raw scores and organic `rrf`.\nMissing raw cells use defaults; references to absent branches fail validation."
        }
      ]
    },
    "l2_rerank": {
      "$ref": "#/$defs/L2Rerank",
      "description": "Search API CatBoost selection before the cross-encoder. Auto activates\na configured profile; off is the control. Catboost requires a model."
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of hits to return.",
      "format": "int32",
      "maximum": 500,
      "minimum": 1,
      "type": "integer"
    },
    "max_query_dims": {
      "default": 0,
      "description": "Maximum number of reformulated query dimensions; zero uses the service default.",
      "format": "int32",
      "minimum": 0,
      "type": "integer"
    },
    "mode": {
      "default": "hybrid",
      "oneOf": [
        {
          "$ref": "#/$defs/SearchMode",
          "description": "Retrieval strategy. Hybrid combines lexical and semantic retrieval."
        }
      ]
    },
    "offset": {
      "default": 0,
      "description": "Result offset. `offset + limit` cannot exceed 500.",
      "format": "int32",
      "maximum": 499,
      "minimum": 0,
      "type": "integer"
    },
    "possible_languages": {
      "description": "Language hints used by query processing.",
      "items": {
        "type": "string"
      },
      "type": [
        "array",
        "null"
      ]
    },
    "pruning": {
      "description": "Optional sparse-vector pruning threshold.",
      "format": "float",
      "type": [
        "number",
        "null"
      ]
    },
    "query": {
      "default": "",
      "description": "Natural-language query (at most 16 KiB UTF-8). Wrap a span in double\nquotes (`\"float-zero determinants\"`) to require ordered indexed tokens.\nStraight, curly and guillemet pairs work; all quoted spans are required\nand receive a lexical score bonus. Tokenizer normalization still applies.\nUnquoted words guide relevance; use structured parameters for filters.\nQuoted identifiers are text constraints, not direct lookup requests.\nAn empty query can be combined with filters.",
      "type": "string"
    },
    "ranking_mode": {
      "default": "auto",
      "oneOf": [
        {
          "$ref": "#/$defs/RankingMode",
          "description": "Relevance objective: passages ranks answer-bearing passages and their\ndocument groups; documents ranks sources for researching the topic.\nAuto resolves intent to one of those two objectives. The response reports\nthe resolved mode. Corpus selection is independent."
        }
      ]
    },
    "referenced_by_uri": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "$ref": "#/$defs/ReferencedBy",
          "description": "Return documents that cite this work: one `doi://`/`arxiv://` URI or\na list of up to 16 identifiers of the same work."
        }
      ]
    },
    "return_documents": {
      "default": true,
      "description": "Include enriched document metadata and query-matched snippets. Set to\nfalse for bulk ranking jobs that only need document IDs and scores.",
      "type": "boolean"
    },
    "rrf_k": {
      "description": "RRF smoothing constant for hybrid fusion. Omit for the service\ndefault (60, the original-paper value); smaller values weight\ntop-ranked results more aggressively.",
      "format": "float",
      "type": [
        "number",
        "null"
      ]
    },
    "tracing": {
      "description": "Return bounded per-shard and per-vertical execution traces.",
      "type": "boolean"
    },
    "weight_threshold": {
      "default": 0,
      "description": "Minimum generated sub-query weight.",
      "format": "float",
      "type": "number"
    }
  },
  "type": "object",
  "$defs": {
    "CandidateRanking": {
      "enum": [
        "auto",
        "rrf",
        "formula"
      ],
      "type": "string"
    },
    "FormulaRanking": {
      "additionalProperties": false,
      "properties": {
        "backfill": {
          "description": "Preserve organic scores and probe only missing cells when enabled.",
          "type": "boolean"
        },
        "formula": {
          "description": "Summa symbolic expression over named raw branch scores and organic `rrf`.",
          "type": "string"
        },
        "missing_values": {
          "additionalProperties": {
            "format": "double",
            "type": "number"
          },
          "description": "Finite raw defaults for absent formula variables. Observed zero wins.",
          "propertyNames": {
            "type": "string"
          },
          "type": "object"
        }
      },
      "required": [
        "formula"
      ],
      "type": "object"
    },
    "L2Rerank": {
      "enum": [
        "auto",
        "off",
        "catboost"
      ],
      "type": "string"
    },
    "RankingMode": {
      "description": "Relevance objective, independent of corpus and lexical/vector retrieval.\nResults remain document groups for both objectives.",
      "enum": [
        "auto",
        "documents",
        "passages"
      ],
      "type": "string"
    },
    "ReferencedBy": {
      "description": "One identifier or several identifiers of the same cited work.",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      ]
    },
    "SearchMode": {
      "enum": [
        "sparse",
        "short_document",
        "binary",
        "hybrid",
        "fulltext"
      ],
      "type": "string"
    }
  }
}

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/machinelibrary-ai-search-request-v2"
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.