{
  "components": {
    "schemas": {
      "AutomationSearchCriteriaSchema": {
        "properties": {
          "automation_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "doc_types": {
            "items": {
              "enum": [
                "assets",
                "collections",
                "segments",
                "saved_searches",
                "saved_search_groups"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "execution_time": {
            "format": "date-time",
            "type": "string"
          },
          "filter": {
            "$ref": "#/components/schemas/CriteriaFilter"
          }
        },
        "required": [
          "automation_ids"
        ],
        "type": "object"
      },
      "BaseQueryParamsSchema": {
        "properties": {
          "page": {
            "default": 1,
            "description": "Which page number to fetch",
            "format": "int32",
            "maximum": 10000,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          },
          "per_page": {
            "default": 10,
            "description": "The number of items for each page",
            "format": "int32",
            "maximum": 1000,
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "sort": {
            "description": "A comma separated list of fieldnames with order (asc/desc)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "BulkAddToFavoritesSchema": {
        "properties": {
          "object_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 500,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "object_ids"
        ],
        "type": "object"
      },
      "BulkDeleteFromFavoritesSchema": {
        "properties": {
          "object_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 500,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "object_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchActionSchema": {
        "properties": {
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchFaceExtractionSchema": {
        "properties": {
          "include_assets": {
            "type": "boolean"
          },
          "include_collections": {
            "type": "boolean"
          },
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "include_assets",
          "include_collections",
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchFilesDeleteSchema": {
        "properties": {
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "storage_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "job_id",
          "search_ids",
          "storage_id"
        ],
        "type": "object"
      },
      "BulkSavedSearchMetadataUpdateSchema": {
        "properties": {
          "include_assets": {
            "type": "boolean"
          },
          "include_collections": {
            "type": "boolean"
          },
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "include_assets",
          "include_collections",
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsACLUpdateSchema": {
        "properties": {
          "include_assets": {
            "type": "boolean"
          },
          "include_collections": {
            "type": "boolean"
          },
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "include_assets",
          "include_collections",
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsAnalyzeSchema": {
        "properties": {
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsDeleteSchema": {
        "properties": {
          "content_only": {
            "default": true,
            "type": "boolean",
            "writeOnly": true
          },
          "include_assets": {
            "type": "boolean"
          },
          "include_collections": {
            "type": "boolean"
          },
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "include_assets",
          "include_collections",
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsMetadataFillingSchema": {
        "properties": {
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsSetApprovalSchema": {
        "properties": {
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsTranscodeSchema": {
        "properties": {
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsTranscribeSchema": {
        "properties": {
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchObjectsTransferSchema": {
        "properties": {
          "include_assets": {
            "type": "boolean"
          },
          "include_collections": {
            "type": "boolean"
          },
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "include_assets",
          "include_collections",
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "BulkSavedSearchReindexSchema": {
        "properties": {
          "include_assets": {
            "type": "boolean"
          },
          "include_collections": {
            "type": "boolean"
          },
          "job_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "job_id",
          "search_ids"
        ],
        "type": "object"
      },
      "CandidateScoring": {
        "description": "How one candidate scored through fusion \u2192 rerank, for observability.\n\nKeyed back to its :class:`Candidate` by ``candidate_id``. Carries the\nmovement the pure-data candidate deliberately omits: where it started (its\nrank and raw score within its source list, which are *not* comparable across\nsources), where fusion placed it, and where the reranker landed it. This is\nwhy :class:`Candidate` keeps a single ``score`` \u2014 the story lives here.",
        "properties": {
          "candidate_id": {
            "type": "string"
          },
          "final_score": {
            "nullable": true,
            "type": "number"
          },
          "fused_score": {
            "nullable": true,
            "type": "number"
          },
          "score_details": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InternalBackend"
              },
              {
                "format": "uuid",
                "type": "string"
              }
            ],
            "nullable": true
          },
          "source_rank": {
            "nullable": true,
            "type": "integer"
          },
          "source_score": {
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "candidate_id"
        ],
        "type": "object"
      },
      "ConnectionTestSchema": {
        "description": "Result of testing one configured backend against its remote provider.\n\n``supported`` is ``False`` when the plugin implements no connection check \u2014\nthe config may still be perfectly valid, there is just nothing to probe.",
        "properties": {
          "message": {
            "default": "",
            "type": "string"
          },
          "ok": {
            "type": "boolean"
          },
          "supported": {
            "type": "boolean"
          }
        },
        "required": [
          "supported",
          "ok"
        ],
        "type": "object"
      },
      "CriteriaFilter": {
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/components/schemas/CriteriaFilter"
            },
            "type": "array"
          },
          "operator": {
            "type": "string"
          },
          "terms": {
            "items": {
              "$ref": "#/components/schemas/CriteriaTerm"
            },
            "type": "array"
          }
        },
        "required": [
          "operator"
        ],
        "type": "object"
      },
      "CriteriaFilterSchema": {
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/components/schemas/CriteriaFilterSchema"
            },
            "type": "array"
          },
          "operator": {
            "type": "string"
          },
          "terms": {
            "items": {
              "$ref": "#/components/schemas/CriteriaTerm"
            },
            "type": "array"
          }
        },
        "required": [
          "operator"
        ],
        "type": "object"
      },
      "CriteriaRangeFilter": {
        "properties": {
          "max": {
            "nullable": true,
            "type": "string"
          },
          "min": {
            "nullable": true,
            "type": "string"
          },
          "timezone": {
            "description": "Format: +02:00. Results returned in UTC by default",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "CriteriaRangeFilterSchema": {
        "properties": {
          "max": {
            "type": "string"
          },
          "min": {
            "type": "string"
          },
          "timezone": {
            "description": "Format: +02:00. Results returned in UTC by default",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CriteriaSortSchema": {
        "properties": {
          "name": {
            "type": "string"
          },
          "order": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CriteriaTerm": {
        "properties": {
          "exists": {
            "type": "boolean"
          },
          "missing": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "range": {
            "$ref": "#/components/schemas/CriteriaRangeFilter"
          },
          "value": {
            "type": "string"
          },
          "value_in": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CriteriaTermSchema": {
        "properties": {
          "exists": {
            "type": "boolean"
          },
          "missing": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "range": {
            "$ref": "#/components/schemas/CriteriaRangeFilterSchema"
          },
          "value": {
            "type": "string"
          },
          "value_in": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "Diagnostics": {
        "description": "The \"why\": surfaced subtleties (relaxed filters, degraded sources).",
        "properties": {
          "applied_filters": {
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          },
          "degraded": {
            "default": false,
            "type": "boolean"
          },
          "query_history": {
            "items": {
              "$ref": "#/components/schemas/QueryDiagnostics"
            },
            "type": "array"
          },
          "recovery_notes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "rejected_filters": {
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          },
          "relaxed_filters": {
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          },
          "scoring": {
            "$ref": "#/components/schemas/ScoringDiagnostics"
          },
          "shortcut": {
            "nullable": true,
            "type": "string"
          },
          "source_states": {
            "items": {
              "$ref": "#/components/schemas/SourceRoundState"
            },
            "type": "array"
          },
          "timing": {
            "$ref": "#/components/schemas/TimingDiagnostics"
          },
          "token_usage": {
            "$ref": "#/components/schemas/TokenUsage"
          },
          "understanding": {
            "items": {
              "$ref": "#/components/schemas/UnderstandingDiagnostics"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "DiscoveryEntitiesSchema": {
        "properties": {
          "first_url": {
            "readOnly": true,
            "type": "string"
          },
          "last_url": {
            "readOnly": true,
            "type": "string"
          },
          "next_url": {
            "readOnly": true,
            "type": "string"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/DiscoveryEntity"
            },
            "readOnly": true,
            "type": "array"
          },
          "page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "pages": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "per_page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "prev_url": {
            "readOnly": true,
            "type": "string"
          },
          "scroll_id": {
            "readOnly": true,
            "type": "string"
          },
          "total": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "DiscoveryEntity": {
        "properties": {
          "date_created": {
            "format": "date-time",
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "object_id": {
            "format": "uuid",
            "type": "string"
          },
          "object_type": {
            "enum": [
              "COLLECTION",
              "SAVED_SEARCH"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "object_id",
          "object_type",
          "title",
          "user_id"
        ],
        "type": "object"
      },
      "DiscoveryEntitySchema": {
        "properties": {
          "date_created": {
            "format": "date-time",
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "object_id": {
            "format": "uuid",
            "type": "string"
          },
          "object_type": {
            "enum": [
              "COLLECTION",
              "SAVED_SEARCH"
            ],
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "user_id": {
            "type": "string"
          }
        },
        "required": [
          "object_id",
          "object_type",
          "title",
          "user_id"
        ],
        "type": "object"
      },
      "DiscoveryViewSettingsSchema": {
        "properties": {
          "entity_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "system_domain_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          }
        },
        "required": [
          "entity_ids"
        ],
        "type": "object"
      },
      "ErrorResponse": {
        "description": "Common iconik error envelope.\n\n``errors`` is either a flat list of messages or a mapping of field name to\nits list of messages, matching the shapes returned across the v2 endpoints.",
        "properties": {
          "errors": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "additionalProperties": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "type": "object"
              }
            ],
            "example": [
              "Bad request: Invalid JSON"
            ]
          }
        },
        "type": "object"
      },
      "Evidence": {
        "description": "One reason a hit is in the list, from one source.\n\nA hit carries a list of these. `field` is the backend's own name for where\nthis came from (`transcription_text.analyzed`); `location` is the same\nthing in the words a person reads (`transcript`). `text` carries the\nhighlight markers `[[mark]]` / `[[/mark]]` around the matched terms.\n\nAn empty list means nothing matched textually \u2014 the filters alone selected\nthe hit. `match.quality` says so as a value you can branch on.",
        "properties": {
          "field": {
            "nullable": true,
            "type": "string"
          },
          "kind": {
            "default": "text",
            "description": "`text` \u2014 an excerpt of a field the query matched, the only kind that can point at where in a document the match landed. `clause` \u2014 a named structured clause matched (\"exact file name\"); there is no excerpt, only the name of what matched, in `location`. `rationale` \u2014 a backend's own account of why it returned the hit (a retrieved passage, a clip transcription), tied to no field of ours and carrying no markers.",
            "enum": [
              "text",
              "clause",
              "rationale"
            ],
            "type": "string"
          },
          "location": {
            "nullable": true,
            "type": "string"
          },
          "source": {
            "description": "Which backend gave this account, as its internal key.",
            "nullable": true,
            "type": "string"
          },
          "source_label": {
            "description": "That backend's display name (\"iconik\", \"TwelveLabs\").",
            "nullable": true,
            "type": "string"
          },
          "text": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "FacetFilter": {
        "properties": {
          "name": {
            "type": "string"
          },
          "value_in": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "FacetFilterSchema": {
        "properties": {
          "name": {
            "type": "string"
          },
          "value_in": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "FieldClause": {
        "description": "A predicate applied to a single (backend-declared) field.\n\n``weight`` is the clause's relative importance *within its own query*\n(folded into a per-term boost by backends that score clause matches, e.g.\nthe internal engine's ES ``boost``). ``1.0`` is neutral; weights are\nrelative, not required to sum to anything. Filters/constraints ignore it.\n\n``label`` names *why* this clause is in the query, in words a user can read\n(\"exact file name\", \"file name (fuzzy)\"). A backend able to report which of\nits clauses a hit matched attributes the hit with it -- the internal engine\ntags the clause as an Elasticsearch *named query* and turns the hit's\n``matched_queries`` into ``Candidate.evidence``. It is therefore the *text\nthat reaches the user*, not an internal identifier: keep it short and\nself-explanatory. ``None`` (the default, and the case for every clause the\nUnderstanding compiler emits today) means the clause contributes no\nattribution, and nothing about the query changes.",
        "properties": {
          "field": {
            "type": "string"
          },
          "label": {
            "nullable": true,
            "type": "string"
          },
          "predicate": {
            "discriminator": {
              "propertyName": "kind"
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/KeywordPredicate"
              },
              {
                "$ref": "#/components/schemas/LexicalPredicate"
              },
              {
                "$ref": "#/components/schemas/SemanticPredicate"
              }
            ]
          },
          "weight": {
            "default": 1.0,
            "minimum": 0.0,
            "type": "number"
          }
        },
        "required": [
          "field",
          "predicate"
        ],
        "type": "object"
      },
      "FieldPredicate": {
        "description": "A plan-level filter: a :class:`FieldClause` plus its disposition.\n\nSurfaced back to the client in an editable form (the \"why\"): editing one\ntriggers a new search. The same shape flows in\n(``SearchConstraint.filters``) and out (``ResponseFilters``), so an echoed\nfilter needs no translation either way.\n\nIt therefore carries what showing it requires \u2014 the field's type, whether it\nis facetable, and the labels behind any opaque values. The Understanding\ncompiler stamps those from the backends' merged field declarations, which it\nis the only place to hold, so no consumer has to look a field up again.",
        "properties": {
          "disposition": {
            "$ref": "#/components/schemas/FilterDisposition",
            "default": "relaxable"
          },
          "facetable": {
            "default": false,
            "type": "boolean"
          },
          "field": {
            "type": "string"
          },
          "field_type": {
            "default": "",
            "type": "string"
          },
          "label": {
            "nullable": true,
            "type": "string"
          },
          "predicate": {
            "discriminator": {
              "propertyName": "kind"
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/KeywordPredicate"
              },
              {
                "$ref": "#/components/schemas/LexicalPredicate"
              },
              {
                "$ref": "#/components/schemas/SemanticPredicate"
              }
            ]
          },
          "pushed_down": {
            "default": false,
            "type": "boolean"
          },
          "reason": {
            "nullable": true,
            "type": "string"
          },
          "value_labels": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "weight": {
            "default": 1.0,
            "minimum": 0.0,
            "type": "number"
          }
        },
        "required": [
          "field",
          "predicate"
        ],
        "type": "object"
      },
      "FilterDisposition": {
        "description": "Whether a filter may be loosened during zero-hit recovery.",
        "enum": [
          "mandatory",
          "relaxable"
        ],
        "type": "string"
      },
      "FilterModifier": {
        "enum": [
          "include_any_of",
          "include_all_of",
          "exclude_any_of",
          "exclude_all_of"
        ],
        "type": "string"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "InternalBackend": {
        "description": "Search backends we run ourselves (vs. customer-onboarded plugins keyed\nby :class:`~uuid.UUID`).\n\nNaming convention: ``{engine}_{capability}``, so future internals (an\nOpenSearch lexical engine, an Elasticsearch vector engine, ...) slot in\ncleanly alongside the one we have today.",
        "enum": [
          "elasticsearch_lexical"
        ],
        "type": "string"
      },
      "KeywordPredicate": {
        "description": "Exact keyword / metadata constraint.\n\nOps: ``eq`` (scalar), ``in`` (ANY of a list), ``all`` (EVERY value of a\nlist must be present -- multivalued fields), ``range`` (bounds),\n``exists`` (field presence; ``value`` is ignored and normalized to ``True``)\nand ``any_of`` (see below). ``negate`` inverts whichever op is set (\"not\narchived\", \"not in July\", \"has no approval status\"), composing with every op\ninstead of doubling the op vocabulary.\n\n``any_of`` is the *disjunctive* op: ``value`` is a list of branches (each a\nscalar / list / :class:`RangeBound`) on the **same field**, of which at least\none must match -- the one way to state a mandatory \"A or B\" that plain\nclauses cannot, since those all AND together (two ranges on one field would\ncontradict). Its canonical use is an OR of date windows (\"created this month\nor three months ago\"). Negated, De Morgan applies: \"in none of the branches\".\nCross-field OR is explicitly out of scope: it would explode both pushdown and\ngate validation, and a disjunction across fields is better expressed as a\n``try`` probe.\n\nThe Understanding compiler's ``_keyword_predicate`` is the single place\nthat builds these; each backend adapter folds only the ops it declares\nsupport for (``FieldCapability.supported_ops``), so a simple plugin never\nsees a shape it cannot express -- mandatory enforcement of the rest is the\nauthority gate's job.",
        "properties": {
          "kind": {
            "const": "keyword",
            "default": "keyword",
            "type": "string"
          },
          "negate": {
            "default": false,
            "type": "boolean"
          },
          "op": {
            "enum": [
              "eq",
              "in",
              "all",
              "range",
              "exists",
              "any_of"
            ],
            "type": "string"
          },
          "value": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "$ref": "#/components/schemas/RangeBound"
              },
              {
                "items": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/RangeBound"
                    },
                    {
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "integer"
                          },
                          {
                            "type": "number"
                          },
                          {
                            "type": "boolean"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    {
                      "type": "string"
                    },
                    {
                      "type": "integer"
                    },
                    {
                      "type": "number"
                    },
                    {
                      "type": "boolean"
                    }
                  ]
                },
                "type": "array"
              }
            ]
          }
        },
        "required": [
          "op",
          "value"
        ],
        "type": "object"
      },
      "KindDescriptorSchema": {
        "description": "One installed plugin kind and the JSON schema of its options.\n\n``options_schema`` is the pydantic JSON schema of the plugin's options\nmodel \u2014 secret fields carry ``format: password`` / ``writeOnly: true``,\nwhich is exactly what an onboarding UI needs to render them.",
        "properties": {
          "kind": {
            "type": "string"
          },
          "options_schema": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "required": [
          "kind",
          "options_schema"
        ],
        "type": "object"
      },
      "KindsListSchema": {
        "properties": {
          "objects": {
            "items": {
              "$ref": "#/components/schemas/KindDescriptorSchema"
            },
            "type": "array"
          }
        },
        "required": [
          "objects"
        ],
        "type": "object"
      },
      "LexicalPredicate": {
        "description": "Full-text lexical match over a free-text field.\n\nPlain ``terms`` is the default and by far the common case: the backend runs\nthem against the field's analyzed form (for the internal engine, a\n``query_string``, so ``terms`` may carry deliberate syntax -- see\n:mod:`.phases.understanding.sanitize`).\n\nThe three optional knobs address fields the default cannot reach, and are\nonly ever set by code that composes the clause itself (never by the LLM):\n\n- ``sub_field`` names a *mapping sub-field* to match instead of the field's\n  default analyzed form (e.g. ``\"tree\"`` for ``files.path.tree``, the\n  path-hierarchy form). Needed because a field can be a ``keyword`` at top\n  level -- so unreachable by a full-text query -- while carrying an analyzed\n  sub-field that is exactly what we want to match;\n- ``fuzziness`` requests edit-distance tolerance from the backend\n  (Elasticsearch spelling: ``\"AUTO\"``, ``\"1\"``, ...) rather than encoding it\n  per-term in ``terms``. Use it when the terms are a single analyzed unit\n  (a path) rather than a bag of words;\n- ``operator`` is how multiple analyzed terms combine (``\"and\"`` keeps a\n  lookup precise, ``\"or\"`` maximizes recall).\n\nSetting any of them asks the backend for a *structured* match rather than a\nquery-string one; a backend that cannot honour the request must reject the\nquery rather than silently widen it.",
        "properties": {
          "fuzziness": {
            "nullable": true,
            "type": "string"
          },
          "kind": {
            "const": "lexical",
            "default": "lexical",
            "type": "string"
          },
          "operator": {
            "enum": [
              "and",
              "or"
            ],
            "nullable": true,
            "type": "string"
          },
          "sub_field": {
            "nullable": true,
            "type": "string"
          },
          "terms": {
            "type": "string"
          }
        },
        "required": [
          "terms"
        ],
        "type": "object"
      },
      "ListObjectsSchema": {
        "properties": {
          "first_url": {
            "readOnly": true,
            "type": "string"
          },
          "last_url": {
            "readOnly": true,
            "type": "string"
          },
          "next_url": {
            "readOnly": true,
            "type": "string"
          },
          "page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "pages": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "per_page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "prev_url": {
            "readOnly": true,
            "type": "string"
          },
          "scroll_id": {
            "readOnly": true,
            "type": "string"
          },
          "total": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "MatchAssessment": {
        "description": "How a hit was reached \u2014 a mechanical fact, not a relevance score.",
        "properties": {
          "basis": {
            "default": "retrieval",
            "enum": [
              "retrieval",
              "reranker",
              "judge"
            ],
            "type": "string"
          },
          "quality": {
            "enum": [
              "exact",
              "approximate",
              "filters_only"
            ],
            "type": "string"
          },
          "round_index": {
            "default": 0,
            "type": "integer"
          }
        },
        "required": [
          "quality"
        ],
        "type": "object"
      },
      "MatchClause": {
        "description": "The scored retrieval of a query: combinator-aware over flat clauses.",
        "properties": {
          "clauses": {
            "items": {
              "$ref": "#/components/schemas/FieldClause"
            },
            "type": "array"
          },
          "op": {
            "default": "and",
            "enum": [
              "and",
              "or"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "Modality": {
        "description": "The *source perceptual signal* a field carries.\n\nA field is characterised by the pair ``(RetrievalKind, Modality)``. Modality\nis *orthogonal* to :class:`RetrievalKind` (how you query): any modality may\nbe queried by any retrieval kind \u2014 e.g. LEXICAL search over the SPOKEN\ntranscript, or SEMANTIC search over VISUAL frames.\n\nModality is optional/nullable. ``None`` means descriptive data that is *not*\nperceived in any media \u2014 title, description, tags and other structured\nmetadata. There is deliberately no ``METADATA`` member: the absence of a\nmodality expresses it.\n\nLike :class:`RetrievalKind`, shared vocabulary between capability\ndeclarations and result-list contexts; re-exported by\n``backends.capabilities``.",
        "enum": [
          "visual",
          "spoken",
          "audio",
          "document"
        ],
        "type": "string"
      },
      "MultiSelectFilterGroup": {
        "properties": {
          "items": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "modifier": {
            "$ref": "#/components/schemas/FilterModifier"
          }
        },
        "required": [
          "modifier",
          "items"
        ],
        "type": "object"
      },
      "MultiSelectFilterGroupSchema": {
        "properties": {
          "items": {
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "modifier": {
            "enum": [
              "include_any_of",
              "include_all_of",
              "exclude_any_of",
              "exclude_all_of"
            ],
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "NaturalSearchDebugResponse": {
        "description": "The natural-search response as documented on a non-production platform.\n\n``debug`` is present when ``NATURAL_SEARCH_DEBUG_RESPONSE`` is on. It tracks\nthe orchestrator's internals and carries **no compatibility promise**. It\nreports what the results themselves cannot \u2014 per-backend provenance, the\npipeline's own account of the run \u2014 never a restatement of `objects`.",
        "properties": {
          "assets": {
            "additionalProperties": {
              "$ref": "#/components/schemas/SearchDocument"
            },
            "description": "The documents `objects` refer to but do not contain, keyed by asset id. Empty unless the results are moments. Plain documents: the ranking story (`score`, `evidence`, `match`) belongs to the moment that matched, not to the asset it happens to sit in.",
            "type": "object"
          },
          "debug": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ResponseDebug"
              }
            ],
            "nullable": true
          },
          "degraded": {
            "default": false,
            "description": "True when at least one search backend failed, timed out or answered partially. The results are still usable, just not the full picture.",
            "type": "boolean"
          },
          "facets": {
            "additionalProperties": true,
            "description": "Always null here; natural search computes no aggregations.",
            "nullable": true,
            "type": "object"
          },
          "filters": {
            "$ref": "#/components/schemas/ResponseFilters",
            "description": "The free text the search ran and what became of every filter behind these results, in the same shape `filters` accepts on the request: `applied` is in effect on these results, `relaxed` was understood and then let go to find results at all, and `rejected` could not be honoured. Only `applied` describes the results you were given."
          },
          "first_url": {
            "nullable": true,
            "type": "string"
          },
          "last_url": {
            "nullable": true,
            "type": "string"
          },
          "match_quality": {
            "description": "The best `match.quality` among `objects` \u2014 what the search can claim about this answer as a whole. Null when there are no results. Anything below `exact` means the query as typed matched nothing and these are recovered results: worth showing, worth labelling, not worth presenting as the answer.",
            "enum": [
              "exact",
              "approximate",
              "filters_only"
            ],
            "nullable": true,
            "type": "string"
          },
          "next_url": {
            "nullable": true,
            "type": "string"
          },
          "objects": {
            "description": "The ranked results, at the requested `result_unit`. Documents for an asset/collection grain; moments (see `NaturalSearchMoment`) when `result_unit` is `segment`.",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/NaturalSearchDocument"
                },
                {
                  "$ref": "#/components/schemas/NaturalSearchMoment"
                }
              ]
            },
            "type": "array"
          },
          "page": {
            "nullable": true,
            "type": "integer"
          },
          "pages": {
            "nullable": true,
            "type": "integer"
          },
          "per_page": {
            "nullable": true,
            "type": "integer"
          },
          "prev_url": {
            "nullable": true,
            "type": "string"
          },
          "scroll_id": {
            "nullable": true,
            "type": "string"
          },
          "total": {
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "NaturalSearchDocument": {
        "description": "A natural-search hit: the regular search document plus its ranking story.\n\nIdentical to what ``/v2/search/`` returns for the same object \u2014 same\npost-processing, same signed URLs \u2014 so a client renders both result sets\nwith one code path.",
        "properties": {
          "date_created": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "evidence": {
            "description": "Why this hit matched: every account, from every source that found it, each naming its own `source`. Empty when nothing matched textually and the filters alone selected the hit \u2014 see `match`.",
            "items": {
              "$ref": "#/components/schemas/Evidence"
            },
            "type": "array"
          },
          "id": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MatchAssessment"
              }
            ],
            "description": "How this hit was retrieved, not how relevant it is: `quality` is `exact` when the query as typed matched, `approximate` when only a recovery round did (fuzzed terms, a broadened phrase \u2014 a typo rescue looks the same as a wrong guess from here), and `filters_only` when no text matched at all and the filters alone selected it. `basis` names the evidence behind that verdict \u2014 `retrieval` today.",
            "nullable": true
          },
          "metadata": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          },
          "object_type": {
            "type": "string"
          },
          "score": {
            "default": 0.0,
            "type": "number"
          },
          "segments": {
            "description": "Matched moments within this hit, best first. Empty for a hit with no sub-structure, and always empty when `nested_results` is false.",
            "items": {
              "$ref": "#/components/schemas/NaturalSearchSegment"
            },
            "type": "array"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "object_type",
          "title"
        ],
        "type": "object"
      },
      "NaturalSearchImage": {
        "properties": {
          "asset_id": {
            "format": "uuid",
            "type": "string"
          },
          "similarity": {
            "default": "semantic",
            "description": "How the reference image is matched: `visual` or `semantic`.",
            "enum": [
              "semantic",
              "visual"
            ],
            "type": "string"
          }
        },
        "required": [
          "asset_id"
        ],
        "type": "object"
      },
      "NaturalSearchMoment": {
        "description": "A matched moment standing as a result of its own.\n\nWhat `objects` holds when `result_unit` is `segment`: the search ranked\nmoments, so each result *is* a moment rather than an asset that contains\nsome. The asset it belongs to is named by `asset_id` and its document is in\nthe response's `assets` map \u2014 several moments commonly share one asset, so\nrepeating a whole document per moment would be most of the payload.",
        "properties": {
          "asset_id": {
            "description": "The asset this moment is part of; its key in `assets`.",
            "type": "string"
          },
          "end_s": {
            "nullable": true,
            "type": "number"
          },
          "evidence": {
            "description": "Why this moment matched: every account, from every source that found it. Empty when nothing matched textually \u2014 see `match`.",
            "items": {
              "$ref": "#/components/schemas/Evidence"
            },
            "type": "array"
          },
          "id": {
            "type": "string"
          },
          "match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MatchAssessment"
              }
            ],
            "description": "How this hit was retrieved, not how relevant it is: `quality` is `exact` when the query as typed matched, `approximate` when only a recovery round did (fuzzed terms, a broadened phrase \u2014 a typo rescue looks the same as a wrong guess from here), and `filters_only` when no text matched at all and the filters alone selected it. `basis` names the evidence behind that verdict \u2014 `retrieval` today.",
            "nullable": true
          },
          "score": {
            "default": 0.0,
            "type": "number"
          },
          "start_s": {
            "nullable": true,
            "type": "number"
          },
          "thumbnail_s": {
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id",
          "asset_id"
        ],
        "type": "object"
      },
      "NaturalSearchRequest": {
        "properties": {
          "filters": {
            "description": "Filters to enforce on top of the query, in the same shape the response reports them under `filters.applied` \u2014 so a filter from a previous response can be edited and sent straight back. Each is applied as given and wins over whatever the query text would have implied for the same field; omitting one is how you drop it. A filter on an unknown or reserved field is not enforced and comes back under `filters.rejected`, never under `filters.applied`.\n\nNote that `disposition` is ignored here: every filter you send is enforced, including one the response reported as `relaxable`. Echoing back the whole of `filters.applied` therefore searches more narrowly than the search that produced it \u2014 send only the filters you mean to pin.",
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NaturalSearchImage"
              }
            ],
            "description": "Optional reference image for visual search. **Not supported yet**: a request carrying one is rejected with a 400 until a visual-similarity backend serves it.",
            "nullable": true
          },
          "limit": {
            "default": 20,
            "description": "Maximum number of results to return.",
            "minimum": 1.0,
            "type": "integer"
          },
          "max_sub_items": {
            "default": 20,
            "description": "Cap on how many finer-grain sub-items (e.g. localized segments) each nested result keeps, trimming the low-signal tail to the top-N most relevant. `null` keeps every matched sub-item. Only affects nested results; never changes which items surface or their ranking.",
            "minimum": 0.0,
            "nullable": true,
            "type": "integer"
          },
          "nested_results": {
            "default": true,
            "description": "Return items with sub-items instead of a flat list.",
            "type": "boolean"
          },
          "query": {
            "description": "Free-text natural-language query.",
            "nullable": true,
            "type": "string"
          },
          "result_unit": {
            "description": "Grain the result list should be expressed in (e.g. `asset`, `segment`). Omit to let the search decide. When coarser than the interesting grain (e.g. `asset` while ranking on the best `segment`s), each item carries its matched finer hits as sub-items and `limit` counts the coarser items.",
            "enum": [
              "asset",
              "segment",
              "collection",
              "post"
            ],
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "NaturalSearchSegment": {
        "description": "One matched moment inside a natural-search hit.\n\nA hit ranked on its best moments carries them here, in descending relevance,\ncapped by the request's ``max_sub_items``. ``thumbnail_s`` is the frame that\nbest represents the moment (the midpoint when nothing better is known), so a\nUI has a poster without computing one.",
        "properties": {
          "end_s": {
            "nullable": true,
            "type": "number"
          },
          "evidence": {
            "description": "Why this moment matched: every account, from every source that found it. Empty when nothing matched textually \u2014 see `match`.",
            "items": {
              "$ref": "#/components/schemas/Evidence"
            },
            "type": "array"
          },
          "id": {
            "type": "string"
          },
          "match": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MatchAssessment"
              }
            ],
            "description": "How this hit was retrieved, not how relevant it is: `quality` is `exact` when the query as typed matched, `approximate` when only a recovery round did (fuzzed terms, a broadened phrase \u2014 a typo rescue looks the same as a wrong guess from here), and `filters_only` when no text matched at all and the filters alone selected it. `basis` names the evidence behind that verdict \u2014 `retrieval` today.",
            "nullable": true
          },
          "score": {
            "default": 0.0,
            "type": "number"
          },
          "start_s": {
            "nullable": true,
            "type": "number"
          },
          "thumbnail_s": {
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "NltfContext": {
        "properties": {
          "displayed_filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NltfDisplayedFilters"
              }
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "NltfContextSchema": {
        "properties": {
          "displayed_filters": {
            "$ref": "#/components/schemas/NltfDisplayedFilters"
          }
        },
        "type": "object"
      },
      "NltfDisplayedFilters": {
        "properties": {
          "facets": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          },
          "filters": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          }
        },
        "type": "object"
      },
      "NltfDisplayedFiltersSchema": {
        "properties": {
          "facets": {
            "additionalProperties": {
              "items": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "type": "array"
            },
            "type": "object"
          },
          "filters": {
            "additionalProperties": {
              "items": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "type": "array"
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "NltfParseMetadata": {
        "properties": {
          "model": {
            "nullable": true,
            "type": "string"
          },
          "original_query": {
            "nullable": true,
            "type": "string"
          },
          "provider": {
            "nullable": true,
            "type": "string"
          },
          "source_trace_id": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "NltfParseMetadataSchema": {
        "properties": {
          "model": {
            "readOnly": true,
            "type": "string"
          },
          "original_query": {
            "readOnly": true,
            "type": "string"
          },
          "provider": {
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "NltfParseRequest": {
        "properties": {
          "context": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NltfContext"
              }
            ],
            "nullable": true
          },
          "query": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "NltfParseRequestSchema": {
        "properties": {
          "context": {
            "$ref": "#/components/schemas/NltfContextSchema"
          },
          "query": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "NltfParseResponse": {
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NltfParseMetadata"
              }
            ],
            "nullable": true
          },
          "result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NltfParseResult"
              }
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "NltfParseResponseSchema": {
        "properties": {
          "metadata": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NltfParseMetadataSchema"
              }
            ],
            "readOnly": true
          },
          "result": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NltfParseResult"
              }
            ],
            "readOnly": true
          }
        },
        "type": "object"
      },
      "NltfParseResult": {
        "properties": {
          "facets_filters": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "nullable": true,
            "type": "object"
          },
          "field_types": {
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "type": "object"
          },
          "filter": {
            "additionalProperties": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "items": {
                    "$ref": "#/components/schemas/MultiSelectFilterGroup"
                  },
                  "type": "array"
                },
                {
                  "$ref": "#/components/schemas/CriteriaRangeFilter"
                }
              ]
            },
            "nullable": true,
            "type": "object"
          },
          "filter_options": {
            "additionalProperties": {
              "items": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "type": "array"
            },
            "nullable": true,
            "type": "object"
          },
          "query": {
            "nullable": true,
            "type": "string"
          },
          "query_mapping": {
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "type": "object"
          }
        },
        "type": "object"
      },
      "NltfParseResultSchema": {
        "properties": {
          "facets_filters": {
            "additionalProperties": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "readOnly": true,
            "type": "object"
          },
          "field_types": {
            "additionalProperties": {
              "type": "string"
            },
            "readOnly": true,
            "type": "object"
          },
          "filter": {
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                {
                  "items": {
                    "$ref": "#/components/schemas/MultiSelectFilterGroupSchema"
                  },
                  "type": "array"
                },
                {
                  "$ref": "#/components/schemas/CriteriaRangeFilterSchema"
                }
              ]
            },
            "readOnly": true,
            "type": "object"
          },
          "filter_options": {
            "additionalProperties": {
              "items": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  }
                ]
              },
              "type": "array"
            },
            "readOnly": true,
            "type": "object"
          },
          "query": {
            "readOnly": true,
            "type": "string"
          },
          "query_mapping": {
            "additionalProperties": {
              "type": "string"
            },
            "readOnly": true,
            "type": "object"
          }
        },
        "type": "object"
      },
      "PhaseTiming": {
        "description": "Wall-clock spent in one named phase (per loop round or whole-request).",
        "properties": {
          "phase": {
            "type": "string"
          },
          "round_index": {
            "nullable": true,
            "type": "integer"
          },
          "took_ms": {
            "type": "integer"
          }
        },
        "required": [
          "phase",
          "took_ms"
        ],
        "type": "object"
      },
      "PingResponse": {
        "properties": {
          "service": {
            "default": "search-v2",
            "type": "string"
          },
          "status": {
            "default": "ok",
            "type": "string"
          },
          "version": {
            "default": "v2",
            "type": "string"
          }
        },
        "type": "object"
      },
      "QueryAttempt": {
        "description": "One execution of a single backend query (the base pass or a top-up).\n\nCaptures the numbers behind the over-fetch / top-up decision so the whole\nstory is observable: what we asked for, what came back, and how much\nsurvived the authority gate.",
        "properties": {
          "gate_took_ms": {
            "nullable": true,
            "type": "integer"
          },
          "kept": {
            "type": "integer"
          },
          "request_payload": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          },
          "requested_limit": {
            "type": "integer"
          },
          "returned": {
            "type": "integer"
          },
          "state": {
            "$ref": "#/components/schemas/SourceState"
          },
          "took_ms": {
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "requested_limit",
          "returned",
          "kept",
          "state"
        ],
        "type": "object"
      },
      "QueryDiagnostics": {
        "description": "The over-fetch / top-up history for one backend query within one round.",
        "properties": {
          "attempts": {
            "items": {
              "$ref": "#/components/schemas/QueryAttempt"
            },
            "type": "array"
          },
          "round_index": {
            "type": "integer"
          },
          "source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InternalBackend"
              },
              {
                "format": "uuid",
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "source",
          "round_index"
        ],
        "type": "object"
      },
      "RangeBound": {
        "description": "Bounds for a ``range`` keyword predicate (every bound is optional).\n\n``gte`` / ``lte`` are the inclusive pair and the ones producers normally\nreach for (the Understanding prompt only ever asks for those). ``gt`` / ``lt``\nare their strict counterparts, here so a producer that *does* mean \"strictly\nafter\" can say it instead of being silently rounded to the inclusive bound:\nevery backend honours all four, and the naming matches Elasticsearch's so\nthere is nothing to remember.\n\nBounds AND together, so several on one side simply intersect\n(``gte=1, gt=5`` is ``x > 5``) -- a pointless-but-harmless combination that\nis deliberately not rejected, since the producer is often an LLM and a\nwell-defined narrowing beats a failed compile.\n\nRead them with :meth:`bounds` rather than four ``is not None`` checks: it is\nthe one place the set of bounds is enumerated, so a backend adapter cannot\nquietly ignore one.",
        "properties": {
          "gt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "nullable": true
          },
          "gte": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "nullable": true
          },
          "lt": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "nullable": true
          },
          "lte": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "integer"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              }
            ],
            "nullable": true
          }
        },
        "type": "object"
      },
      "RankingUnit": {
        "description": "The unit every result is ultimately rolled up to and ranked on.\n\nPicked by the Understanding phase depending on the query intent.",
        "enum": [
          "asset",
          "segment",
          "collection",
          "post"
        ],
        "type": "string"
      },
      "ReindexSavedSearchGroupSchema": {
        "properties": {
          "sync_to_another_dc": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ReindexSavedSearchSchema": {
        "properties": {
          "sync_to_another_dc": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ResponseDebug": {
        "description": "Why the search returned what it did. Carries no compatibility promise.\n\nEmitted only when ``SearchOptions.include_debug`` is set, which the API\nlayer gates on a non-production platform.",
        "properties": {
          "diagnostics": {
            "$ref": "#/components/schemas/Diagnostics"
          },
          "final": {
            "default": true,
            "type": "boolean"
          },
          "missing_documents": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "providers_details": {
            "additionalProperties": {
              "additionalProperties": {
                "additionalProperties": {
                  "type": "string"
                },
                "type": "object"
              },
              "type": "object"
            },
            "type": "object"
          },
          "ranking_unit": {
            "$ref": "#/components/schemas/RankingUnit"
          },
          "result_unit": {
            "$ref": "#/components/schemas/RankingUnit"
          },
          "version": {
            "default": 0,
            "type": "integer"
          }
        },
        "required": [
          "ranking_unit",
          "result_unit"
        ],
        "type": "object"
      },
      "ResponseFilters": {
        "description": "The free text the search ran, and every filter behind its results.\n\nThe same :class:`FieldPredicate` shape the caller may send in\n``SearchConstraint.filters``, so a client can echo a filter back to narrow\nor re-run the search without translating it first.\n\nThree lists, and the distinction between them is what a caller should do\nnext:\n\n- ``applied`` -- in effect on these results. The round that produced them\n  gated on every one of these;\n- ``relaxed`` -- understood, and then let go in order to find results at\n  all. Re-sending one narrows the search back down (and may empty it);\n- ``rejected`` -- could not be honoured: no backend declares the field, or\n  it is off the public filter surface. Re-sending one changes nothing;\n  the request has to change.\n\nEach entry outside ``applied`` carries a ``reason``. The invariant behind\nthe split is that a filter the search did not honour is never reported as\napplied -- silently dropping one would make the response assert a\nconstraint it did not enforce.",
        "properties": {
          "applied": {
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          },
          "query": {
            "nullable": true,
            "type": "string"
          },
          "rejected": {
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          },
          "relaxed": {
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ResultOrder": {
        "description": "Coarse ordering a query asks its backend to sort by.\n\n``RELEVANCE`` = rank by the retrieval score (the default for any query that\ncarries a scored clause). ``RECENT`` = rank by recency (newest first) \u2014 the\nsensible order for *browse* / pure-filter queries that have no relevance\nsignal, and for explicit \"latest / most recent ...\" intents.\n\nNOTE (future): this is honoured today only *within* a single backend query\n(the internal engine maps it to its sort). Cross-backend recency ordering\nbelongs in fusion once it ranks by more than score \u2014 see\n:func:`~iconik_search_v2.orchestrator.phases.fusion.fuse_rerank_aggregate`.",
        "enum": [
          "relevance",
          "recent"
        ],
        "type": "string"
      },
      "RetrievalAffinity": {
        "description": "The intent's preference for *kinds* of retrieval, matched at fusion.\n\nThe third weighting axis, alongside ``SearchQuery.weight`` (how much the\nintent trusts a whole backend) and ``RetrievalContext.weight`` (how much a\nbackend trusts one of its own lists). This one says \"for *this* query,\nsemantic-visual evidence matters more than lexical evidence\" without naming\na backend at all.\n\nThat indirection is the point: Understanding cannot name a backend's result\nlists, because it does not know which lists a query will produce. So it\nexpresses the preference over the abstract vocabulary both sides already\nspeak \u2014 :class:`RetrievalKind` and :class:`Modality` \u2014 backends tag their\nlists with exactly that vocabulary, and fusion matches the two against each\nleg's ``RetrievalContext``.\n\nWeights are *relative* within each axis, in [0, 1]; the axes are matched\nindependently and compose multiplicatively. An empty map means \"no\npreference on this axis\" \u2014 every leg scores neutrally.\n\n**A leg untagged on an axis is neutral on it**, ranking level with a leg\ntagged with something the intent did not mention \u2014 never below it. A\npreference for VISUAL must not single out the internal engine merely because\nit returns one undifferentiated list: an unclassifiable leg is not a leg we\nknow to be irrelevant, and demoting it would turn a ranking hint into a\nfan-out restriction.",
        "properties": {
          "kinds": {
            "additionalProperties": {
              "type": "number"
            },
            "propertyNames": {
              "$ref": "#/components/schemas/RetrievalKind"
            },
            "type": "object"
          },
          "modalities": {
            "additionalProperties": {
              "type": "number"
            },
            "propertyNames": {
              "$ref": "#/components/schemas/Modality"
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "RetrievalKind": {
        "description": "The retrieval kind a field / retrieval-option speaks.\n\nLives here (not in ``backends.capabilities``) because it is shared\nvocabulary: capability declarations *and* result-list contexts both speak\nit. ``backends.capabilities`` re-exports it for its historical import path.",
        "enum": [
          "lexical",
          "keyword",
          "semantic"
        ],
        "type": "string"
      },
      "SavedSearch": {
        "properties": {
          "criteria": {
            "$ref": "#/components/schemas/SearchCriteriaSaved"
          },
          "date_created": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "favoured": {
            "readOnly": true,
            "type": "boolean"
          },
          "group_id": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "permissions": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "criteria",
          "name"
        ],
        "type": "object"
      },
      "SavedSearchConvertCollectionSchema": {
        "properties": {
          "collection_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "collection_id"
        ],
        "type": "object"
      },
      "SavedSearchCopyFromTemplateSchema": {
        "properties": {
          "from_domain": {
            "format": "uuid",
            "type": "string"
          },
          "metadata_view_map": {
            "additionalProperties": {
              "format": "uuid",
              "type": "string"
            },
            "type": "object"
          },
          "to_domain": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "from_domain",
          "metadata_view_map",
          "to_domain"
        ],
        "type": "object"
      },
      "SavedSearchElasticSchema": {
        "properties": {
          "criteria": {
            "type": "string"
          },
          "date_created": {
            "format": "date-time",
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "type": "string"
          },
          "favoured": {
            "readOnly": true,
            "type": "boolean"
          },
          "group_id": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "permissions": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "SavedSearchGroupQueryParamsSchema": {
        "properties": {
          "page": {
            "default": 1,
            "description": "Which page number to fetch",
            "format": "int32",
            "maximum": 10000,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          },
          "per_page": {
            "default": 10,
            "description": "The number of items for each page",
            "format": "int32",
            "maximum": 1000,
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "sort": {
            "description": "A comma separated list of fieldnames with order (asc/desc)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SavedSearchGroupSchema": {
        "properties": {
          "date_created": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "saved_searches_count": {
            "type": "integer"
          },
          "system_domain_id": {
            "format": "uuid",
            "type": "string"
          },
          "user_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "SavedSearchGroupsSchema": {
        "properties": {
          "first_url": {
            "readOnly": true,
            "type": "string"
          },
          "last_url": {
            "readOnly": true,
            "type": "string"
          },
          "next_url": {
            "readOnly": true,
            "type": "string"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SavedSearchGroupSchema"
            },
            "readOnly": true,
            "type": "array"
          },
          "page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "pages": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "per_page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "prev_url": {
            "readOnly": true,
            "type": "string"
          },
          "scroll_id": {
            "readOnly": true,
            "type": "string"
          },
          "total": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SavedSearchQueryParamsSchema": {
        "properties": {
          "page": {
            "default": 1,
            "description": "Which page number to fetch",
            "format": "int32",
            "maximum": 10000,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          },
          "per_page": {
            "default": 10,
            "description": "The number of items for each page",
            "format": "int32",
            "maximum": 1000,
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "scroll": {
            "type": "boolean"
          },
          "scroll_id": {
            "format": "uuid",
            "type": "string"
          },
          "search_after": {
            "description": "This parameter is used for infinite scroll pagination instead of deprecatedscroll API. It accepts a list of sort keys that will be used for getting a next page and it can be obtained from `_sort` key of the last object of the previous response",
            "items": {},
            "nullable": true,
            "type": "array"
          },
          "sort": {
            "description": "A comma separated list of fieldnames with order (asc/desc)",
            "type": "string"
          },
          "types": {
            "default": [
              "ASSET",
              "SEQUENCE",
              "NLE_PROJECT",
              "PLACEHOLDER",
              "CUSTOM",
              "LINK",
              "SUBCLIP"
            ],
            "description": "Comma-separated list of asset types to include in results. Defaults to all except POST.",
            "items": {
              "enum": [
                "ASSET",
                "SEQUENCE",
                "NLE_PROJECT",
                "PLACEHOLDER",
                "CUSTOM",
                "LINK",
                "SUBCLIP",
                "POST"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SavedSearchResultsSchema": {
        "properties": {
          "facets": {
            "type": "object"
          },
          "first_url": {
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "last_url": {
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "next_url": {
            "readOnly": true,
            "type": "string"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchDocument"
            },
            "readOnly": true,
            "type": "array"
          },
          "page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "pages": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "per_page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "prev_url": {
            "readOnly": true,
            "type": "string"
          },
          "scroll_id": {
            "readOnly": true,
            "type": "string"
          },
          "search_criteria_document": {
            "$ref": "#/components/schemas/SavedSearch"
          },
          "total": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SavedSearchSchema": {
        "properties": {
          "criteria": {
            "$ref": "#/components/schemas/SearchCriteriaSaved"
          },
          "date_created": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "favoured": {
            "readOnly": true,
            "type": "boolean"
          },
          "group_id": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "permissions": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "criteria",
          "name"
        ],
        "type": "object"
      },
      "SavedSearchesSchema": {
        "properties": {
          "facets": {
            "type": "object"
          },
          "first_url": {
            "readOnly": true,
            "type": "string"
          },
          "last_url": {
            "readOnly": true,
            "type": "string"
          },
          "next_url": {
            "readOnly": true,
            "type": "string"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SavedSearchElasticSchema"
            },
            "readOnly": true,
            "type": "array"
          },
          "page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "pages": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "per_page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "prev_url": {
            "readOnly": true,
            "type": "string"
          },
          "scroll_id": {
            "readOnly": true,
            "type": "string"
          },
          "total": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ScoringDiagnostics": {
        "description": "The \"how ranked\": the fusion / rerank methods and per-candidate movement.\n\nLives in diagnostics (not on :class:`Candidate`) so a hit stays a single\n``score`` signal while the ranking pipeline remains fully observable. The\nordered :attr:`methods` list records every scoring stage that ran (fusion,\nthen any rerank); :attr:`fusion_method` / :attr:`rerank_method` remain as\nconvenience read accessors over that list.",
        "properties": {
          "candidates": {
            "items": {
              "$ref": "#/components/schemas/CandidateScoring"
            },
            "type": "array"
          },
          "methods": {
            "items": {
              "$ref": "#/components/schemas/ScoringMethod"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ScoringMethod": {
        "description": "One scoring/ranking method applied at one stage of the pipeline.\n\nStrengthens what used to be a pair of free-text fields into an ordered,\ntyped record so the response can attest *exactly* how it ranked: the stage,\nthe method (an enum value), the concrete model when the method is\nmodel-backed, and any tuning knobs (e.g. the RRF ``k``). Several may apply\n(e.g. an RRF fusion followed by a cross-encoder rerank), hence a list on\n:class:`ScoringDiagnostics`.",
        "properties": {
          "method": {
            "type": "string"
          },
          "model": {
            "nullable": true,
            "type": "string"
          },
          "params": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "stage": {
            "$ref": "#/components/schemas/ScoringStage"
          }
        },
        "required": [
          "stage",
          "method"
        ],
        "type": "object"
      },
      "ScoringStage": {
        "description": "Which stage of the ranking pipeline a :class:`ScoringMethod` describes.",
        "enum": [
          "fusion",
          "rerank"
        ],
        "type": "string"
      },
      "SearchBackendCreateSchema": {
        "description": "POST body: onboard one backend plugin instance for the domain.",
        "properties": {
          "enabled": {
            "default": true,
            "type": "boolean"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "default": "",
            "type": "string"
          },
          "options": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "required": [
          "kind"
        ],
        "type": "object"
      },
      "SearchBackendReadSchema": {
        "properties": {
          "date_created": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "enabled": {
            "default": true,
            "type": "boolean"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "name": {
            "default": "",
            "type": "string"
          },
          "options": {
            "additionalProperties": true,
            "type": "object"
          }
        },
        "required": [
          "id",
          "kind"
        ],
        "type": "object"
      },
      "SearchBackendUpdateSchema": {
        "description": "PUT/PATCH body. ``kind`` is immutable: it may be echoed back unchanged\n(clients often resend what they read) but never altered.",
        "properties": {
          "enabled": {
            "nullable": true,
            "type": "boolean"
          },
          "kind": {
            "nullable": true,
            "type": "string"
          },
          "name": {
            "nullable": true,
            "type": "string"
          },
          "options": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          }
        },
        "type": "object"
      },
      "SearchBackendsListSchema": {
        "properties": {
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchBackendReadSchema"
            },
            "type": "array"
          }
        },
        "required": [
          "objects"
        ],
        "type": "object"
      },
      "SearchContentInfoInternalSchema": {
        "properties": {
          "assets_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "collections_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "media_formats": {
            "items": {
              "readOnly": true,
              "type": "object"
            },
            "type": "array"
          },
          "media_types": {
            "items": {
              "readOnly": true,
              "type": "object"
            },
            "type": "array"
          },
          "storage_info": {
            "items": {
              "$ref": "#/components/schemas/StorageContentInfo"
            },
            "readOnly": true,
            "type": "array"
          },
          "title": {
            "readOnly": true,
            "type": "string"
          },
          "total_duration_milliseconds": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "total_size": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchContentInfoSchema": {
        "properties": {
          "assets_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "collections_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "storage_info": {
            "items": {
              "$ref": "#/components/schemas/StorageContentInfo"
            },
            "readOnly": true,
            "type": "array"
          },
          "title": {
            "readOnly": true,
            "type": "string"
          },
          "total_duration_milliseconds": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "total_size": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchConvertCollectionSchema": {
        "properties": {
          "collection_id": {
            "format": "uuid",
            "type": "string"
          },
          "doc_types": {
            "items": {
              "enum": [
                "assets",
                "collections",
                "segments",
                "saved_searches",
                "saved_search_groups"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "exclude_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets_filters": {
            "items": {
              "$ref": "#/components/schemas/FacetFilterSchema"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/components/schemas/CriteriaFilterSchema"
          },
          "include_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "metadata_view_id": {
            "format": "uuid",
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "search_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sort": {
            "items": {
              "$ref": "#/components/schemas/CriteriaSortSchema"
            },
            "type": "array"
          }
        },
        "required": [
          "collection_id"
        ],
        "type": "object"
      },
      "SearchCriteria": {
        "properties": {
          "doc_types": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "exclude_fields": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "facets": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "facets_filters": {
            "items": {
              "$ref": "#/components/schemas/FacetFilter"
            },
            "nullable": true,
            "type": "array"
          },
          "filter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SearchCriteriaFilter"
              }
            ],
            "nullable": true
          },
          "include_fields": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "metadata_view_id": {
            "nullable": true,
            "type": "string"
          },
          "query": {
            "nullable": true,
            "type": "string"
          },
          "search_after": {
            "description": "Infinite-scroll pagination key (replaces the deprecated scroll API). A list of sort keys taken from the `_sort` of the last object of the previous response.",
            "items": {},
            "nullable": true,
            "type": "array"
          },
          "search_fields": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "sort": {
            "items": {
              "$ref": "#/components/schemas/SortField"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchCriteriaBaseSchema": {
        "properties": {
          "doc_types": {
            "items": {
              "enum": [
                "assets",
                "collections",
                "segments",
                "saved_searches",
                "saved_search_groups"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "exclude_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets_filters": {
            "items": {
              "$ref": "#/components/schemas/FacetFilterSchema"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/components/schemas/CriteriaFilterSchema"
          },
          "include_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "metadata_view_id": {
            "format": "uuid",
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "search_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sort": {
            "items": {
              "$ref": "#/components/schemas/CriteriaSortSchema"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchCriteriaFilter": {
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/components/schemas/SearchCriteriaFilter"
            },
            "nullable": true,
            "type": "array"
          },
          "operator": {
            "enum": [
              "AND",
              "OR",
              "NOT"
            ],
            "type": "string"
          },
          "terms": {
            "items": {
              "$ref": "#/components/schemas/SearchTerm"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "required": [
          "operator"
        ],
        "type": "object"
      },
      "SearchCriteriaSaved": {
        "properties": {
          "doc_types": {
            "items": {
              "enum": [
                "assets",
                "collections",
                "segments",
                "saved_searches",
                "saved_search_groups"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "exclude_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets_filters": {
            "items": {
              "$ref": "#/components/schemas/FacetFilterSchema"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/components/schemas/CriteriaFilterSchema"
          },
          "include_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "metadata_view_id": {
            "format": "uuid",
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "search_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sort": {
            "items": {
              "$ref": "#/components/schemas/CriteriaSortSchema"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchCriteriaSavedSchema": {
        "properties": {
          "doc_types": {
            "items": {
              "enum": [
                "assets",
                "collections",
                "segments",
                "saved_searches",
                "saved_search_groups"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "exclude_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets_filters": {
            "items": {
              "$ref": "#/components/schemas/FacetFilterSchema"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/components/schemas/CriteriaFilterSchema"
          },
          "include_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "metadata_view_id": {
            "format": "uuid",
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "search_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sort": {
            "items": {
              "$ref": "#/components/schemas/CriteriaSortSchema"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchCriteriaSchema": {
        "properties": {
          "doc_types": {
            "items": {
              "enum": [
                "assets",
                "collections",
                "segments",
                "saved_searches",
                "saved_search_groups"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "exclude_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "facets_filters": {
            "items": {
              "$ref": "#/components/schemas/FacetFilterSchema"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/components/schemas/CriteriaFilterSchema"
          },
          "include_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "metadata_view_id": {
            "format": "uuid",
            "type": "string"
          },
          "query": {
            "type": "string"
          },
          "search_after": {
            "description": "This parameter is used for infinite scroll pagination instead of deprecatedscroll API. It accepts a list of sort keys that will be used for getting a next page and it can be obtained from `_sort` key of the last object of the previous response",
            "items": {},
            "type": "array"
          },
          "search_fields": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sort": {
            "items": {
              "$ref": "#/components/schemas/CriteriaSortSchema"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchDocument": {
        "description": "A single search hit (ported from v1 ``SearchDocumentSchema``).",
        "properties": {
          "date_created": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "description": {
            "nullable": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "nullable": true,
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          },
          "object_type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "object_type",
          "title"
        ],
        "type": "object"
      },
      "SearchDocumentInputSchema": {
        "properties": {
          "fields": {
            "items": {
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "fields"
        ],
        "type": "object"
      },
      "SearchDocumentSchema": {
        "properties": {
          "date_created": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "object_type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "required": [
          "object_type",
          "title"
        ],
        "type": "object"
      },
      "SearchDocumentsResponse": {
        "description": "Search results envelope (ported from v1 ``SearchDocumentsSchema``).",
        "properties": {
          "facets": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          },
          "first_url": {
            "nullable": true,
            "type": "string"
          },
          "last_url": {
            "nullable": true,
            "type": "string"
          },
          "next_url": {
            "nullable": true,
            "type": "string"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchDocument"
            },
            "type": "array"
          },
          "page": {
            "nullable": true,
            "type": "integer"
          },
          "pages": {
            "nullable": true,
            "type": "integer"
          },
          "per_page": {
            "nullable": true,
            "type": "integer"
          },
          "prev_url": {
            "nullable": true,
            "type": "string"
          },
          "scroll_id": {
            "nullable": true,
            "type": "string"
          },
          "search_criteria_document": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          },
          "total": {
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchDocumentsSchema": {
        "properties": {
          "facets": {
            "type": "object"
          },
          "first_url": {
            "readOnly": true,
            "type": "string"
          },
          "last_url": {
            "readOnly": true,
            "type": "string"
          },
          "next_url": {
            "readOnly": true,
            "type": "string"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchDocumentSchema"
            },
            "readOnly": true,
            "type": "array"
          },
          "page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "pages": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "per_page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "prev_url": {
            "readOnly": true,
            "type": "string"
          },
          "scroll_id": {
            "readOnly": true,
            "type": "string"
          },
          "total": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchHistory": {
        "properties": {
          "criteria": {
            "type": "object"
          },
          "date_created": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "criteria",
          "id"
        ],
        "type": "object"
      },
      "SearchHistoryListSchema": {
        "properties": {
          "first_url": {
            "readOnly": true,
            "type": "string"
          },
          "last_url": {
            "readOnly": true,
            "type": "string"
          },
          "next_url": {
            "readOnly": true,
            "type": "string"
          },
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchHistory"
            },
            "readOnly": true,
            "type": "array"
          },
          "page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "pages": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "per_page": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          },
          "prev_url": {
            "readOnly": true,
            "type": "string"
          },
          "scroll_id": {
            "readOnly": true,
            "type": "string"
          },
          "total": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchHistorySchema": {
        "properties": {
          "criteria": {
            "type": "object"
          },
          "date_created": {
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "criteria",
          "id"
        ],
        "type": "object"
      },
      "SearchQuery": {
        "description": "One backend-targeted query.\n\n``constraints`` are always AND-ed (gate / scope / pushdown filters);\n``match`` is the scored retrieval; ``weight`` tunes its contribution when\nfused with sibling queries in the same round.\n\n``limit`` is the number of hits to fetch from the backend. It is ``None``\nuntil the flow's per-query pipeline sizes it against backend capabilities\n(an over-fetch above ``constraint.limit`` for backends whose results the\nauthority gate may thin out; exactly ``constraint.limit`` for backends that\npush every mandatory filter down). The same pipeline's top-up loop grows\nit, capped by the backend's announced ``max_limit``.",
        "properties": {
          "constraints": {
            "items": {
              "$ref": "#/components/schemas/FieldClause"
            },
            "type": "array"
          },
          "exact_text": {
            "default": true,
            "type": "boolean"
          },
          "limit": {
            "nullable": true,
            "type": "integer"
          },
          "match": {
            "$ref": "#/components/schemas/MatchClause"
          },
          "on_backend": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InternalBackend"
              },
              {
                "format": "uuid",
                "type": "string"
              }
            ]
          },
          "order": {
            "$ref": "#/components/schemas/ResultOrder",
            "default": "relevance"
          },
          "probes": {
            "items": {
              "$ref": "#/components/schemas/FieldClause"
            },
            "type": "array"
          },
          "ranking_unit": {
            "$ref": "#/components/schemas/RankingUnit",
            "default": "asset"
          },
          "text_gates": {
            "default": true,
            "type": "boolean"
          },
          "weight": {
            "default": 0.5,
            "description": "Relative importance of this query when its results are fused with sibling queries in the same round. Weights are *relative*, not absolute: they are not required to sum to 1 across a round's queries (retries or empty backends may drop some), so fusion normalizes over whatever queries actually produced results. The Understanding engine may reason about importance in coarse terms (low/medium/high) but emits the normalized float.",
            "maximum": 1.0,
            "minimum": 0.0,
            "type": "number"
          }
        },
        "required": [
          "on_backend",
          "match"
        ],
        "type": "object"
      },
      "SearchQueryParamsSchema": {
        "properties": {
          "page": {
            "default": 1,
            "description": "Which page number to fetch",
            "format": "int32",
            "maximum": 10000,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          },
          "per_page": {
            "default": 10,
            "description": "The number of items for each page",
            "format": "int32",
            "maximum": 1000,
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "scroll": {
            "type": "boolean"
          },
          "scroll_id": {
            "format": "uuid",
            "type": "string"
          },
          "sort": {
            "description": "A comma separated list of fieldnames with order (asc/desc)",
            "type": "string"
          },
          "types": {
            "default": [
              "ASSET",
              "SEQUENCE",
              "NLE_PROJECT",
              "PLACEHOLDER",
              "CUSTOM",
              "LINK",
              "SUBCLIP"
            ],
            "description": "Comma-separated list of asset types to include in results. Defaults to all except POST.",
            "items": {
              "enum": [
                "ASSET",
                "SEQUENCE",
                "NLE_PROJECT",
                "PLACEHOLDER",
                "CUSTOM",
                "LINK",
                "SUBCLIP",
                "POST"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchRangeFilter": {
        "properties": {
          "max": {
            "nullable": true,
            "type": "string"
          },
          "min": {
            "nullable": true,
            "type": "string"
          },
          "timezone": {
            "description": "Format: +02:00. Results returned in UTC by default",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SearchRound": {
        "description": "One round: a set of queries run in parallel and fused together.\n\nPure data \u2014 the *outcome* of running a round (its results) is tracked by the\nplan aggregate, not stored here.\n\n``affinity`` is round-scoped rather than per-query because it is a property\nof the *interpretation*, not of any one backend: it weighs the kinds of\nretrieval this round's legs represent, whichever backend produced them.\n\n``name`` is which rung of the recovery ladder this round is (see\n``phases.understanding.compiler``'s ``RUNG_*``), so the debug diagnostics can\nsay *what* recovery answered rather than only its index. Empty for a round\nnothing named -- an identifier shortcut's, a hand-built one.",
        "properties": {
          "affinity": {
            "$ref": "#/components/schemas/RetrievalAffinity"
          },
          "name": {
            "default": "",
            "type": "string"
          },
          "queries": {
            "items": {
              "$ref": "#/components/schemas/SearchQuery"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchSuggestRequest": {
        "properties": {
          "doc_types": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "field_name": {
            "type": "string"
          },
          "metadata_view_id": {
            "nullable": true,
            "type": "string"
          },
          "query": {
            "type": "string"
          }
        },
        "required": [
          "field_name",
          "query"
        ],
        "type": "object"
      },
      "SearchSuggestResponseItem": {
        "properties": {
          "value": {
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SearchSuggestResponseSchema": {
        "properties": {
          "value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "SearchSuggestSchema": {
        "properties": {
          "doc_types": {
            "items": {
              "enum": [
                "assets",
                "collections",
                "segments",
                "saved_searches",
                "saved_search_groups"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "field_name": {
            "type": "string"
          },
          "metadata_view_id": {
            "format": "uuid",
            "type": "string"
          },
          "query": {
            "type": "string"
          }
        },
        "required": [
          "field_name",
          "query"
        ],
        "type": "object"
      },
      "SearchSuggestsResponse": {
        "description": "Suggestions envelope (ported from v1 ``SearchSuggestsResponseSchema``).",
        "properties": {
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchSuggestResponseItem"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchSuggestsResponseSchema": {
        "properties": {
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchSuggestResponseSchema"
            },
            "readOnly": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchTerm": {
        "properties": {
          "exists": {
            "nullable": true,
            "type": "boolean"
          },
          "missing": {
            "nullable": true,
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "range": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SearchRangeFilter"
              }
            ],
            "nullable": true
          },
          "value": {
            "nullable": true,
            "type": "string"
          },
          "value_in": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "SearchViewFieldTypeSchema": {
        "properties": {
          "facetable": {
            "type": "boolean"
          },
          "label": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "origin_field_name": {
            "type": "string"
          },
          "sortable": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "width": {
            "$ref": "#/components/schemas/SearchViewFieldTypeWidth"
          }
        },
        "type": "object"
      },
      "SearchViewFieldTypeWidth": {
        "properties": {
          "auto_resize": {
            "type": "boolean"
          },
          "current": {
            "type": "integer"
          },
          "fixed": {
            "type": "integer"
          },
          "max": {
            "type": "integer"
          },
          "min": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchViewFieldTypeWidthSchema": {
        "properties": {
          "auto_resize": {
            "type": "boolean"
          },
          "current": {
            "type": "integer"
          },
          "fixed": {
            "type": "integer"
          },
          "max": {
            "type": "integer"
          },
          "min": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SearchViewSchema": {
        "properties": {
          "auto_resize_title_column": {
            "type": "boolean"
          },
          "date_created": {
            "format": "date-time",
            "type": "string"
          },
          "date_modified": {
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "view_fields": {
            "items": {
              "$ref": "#/components/schemas/SearchViewFieldTypeSchema"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "SearchViewsIDSchema": {
        "properties": {
          "object_ids": {
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "maxItems": 500,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "object_ids"
        ],
        "type": "object"
      },
      "SearchViewsSchema": {
        "properties": {
          "objects": {
            "items": {
              "$ref": "#/components/schemas/SearchViewSchema"
            },
            "readOnly": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "SemanticPredicate": {
        "description": "Vector/semantic match: a short natural-language phrase to embed.",
        "properties": {
          "kind": {
            "const": "semantic",
            "default": "semantic",
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "SortField": {
        "properties": {
          "name": {
            "type": "string"
          },
          "order": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "SourceRoundState": {
        "description": "How one backend fared in one round.\n\nA list rather than a ``{source: state}`` mapping: the same backend may be\nqueried in several rounds (a broadened fallback re-probes a source that kept\nnothing), and a mapping would report only the last round's state.",
        "properties": {
          "round_index": {
            "type": "integer"
          },
          "source": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InternalBackend"
              },
              {
                "format": "uuid",
                "type": "string"
              }
            ]
          },
          "state": {
            "$ref": "#/components/schemas/SourceState"
          }
        },
        "required": [
          "source",
          "round_index",
          "state"
        ],
        "type": "object"
      },
      "SourceState": {
        "description": "Per-source execution outcome (a slow/down source must not fail us).",
        "enum": [
          "ok",
          "partial",
          "timeout",
          "unavailable",
          "error"
        ],
        "type": "string"
      },
      "StorageContentInfo": {
        "properties": {
          "assets_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "file_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "storage_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "total_duration_milliseconds": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "total_size": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "StorageContentInfoSchema": {
        "properties": {
          "assets_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "file_count": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "storage_id": {
            "format": "uuid",
            "readOnly": true,
            "type": "string"
          },
          "total_duration_milliseconds": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          },
          "total_size": {
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": -9223372036854775808,
            "readOnly": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "TimingDiagnostics": {
        "description": "The \"how long\": total wall-clock plus a per-phase breakdown.\n\nLives in diagnostics as the aggregate timing story. Per-backend call latency\nstays on :class:`SourceResult.took_ms` (a raw measured fact), and per top-up\npass latency on :class:`QueryAttempt.took_ms`; this rolls the phases up.",
        "properties": {
          "phases": {
            "items": {
              "$ref": "#/components/schemas/PhaseTiming"
            },
            "type": "array"
          },
          "total_ms": {
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "TokenUsage": {
        "description": "LLM token accounting, aggregatable across calls / phases.\n\nToday only the Understanding phase spends tokens; the model is a running\ntotal so future LLM steps (rerank, drill-down) can fold their usage in via\n:meth:`combined_with`.",
        "properties": {
          "input_tokens": {
            "default": 0,
            "type": "integer"
          },
          "output_tokens": {
            "default": 0,
            "type": "integer"
          },
          "requests": {
            "default": 0,
            "type": "integer"
          },
          "total_tokens": {
            "default": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "UnderstandingDiagnostics": {
        "description": "One interpretation's full account, for the debug response.\n\nSnapshotted by the flow each time Understanding contributes to the plan\n(today: once, on the blank plan), so the debug reader can see both *what\nthe LLM understood* (``intent``) and *what the compiler made of it*\n(``rounds`` / ``filters``) without correlating server logs.",
        "properties": {
          "filters": {
            "items": {
              "$ref": "#/components/schemas/FieldPredicate"
            },
            "type": "array"
          },
          "intent": {
            "additionalProperties": true,
            "nullable": true,
            "type": "object"
          },
          "ranking_unit": {
            "$ref": "#/components/schemas/RankingUnit"
          },
          "round_index": {
            "nullable": true,
            "type": "integer"
          },
          "rounds": {
            "items": {
              "$ref": "#/components/schemas/SearchRound"
            },
            "type": "array"
          },
          "shortcut": {
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "ranking_unit"
        ],
        "type": "object"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array"
          },
          "msg": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "title": "Iconik Search",
    "version": "2.0.0"
  },
  "openapi": "3.0.3",
  "paths": {
    "/": {},
    "/ip/": {},
    "/livez/": {},
    "/readyz/": {},
    "/spec/": {},
    "/static/{filename}": {},
    "/v1/discovery/default/": {
      "put": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_write_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryViewSettingsSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryViewSettingsSchema"
                }
              }
            },
            "description": "Returns updated default discovery view"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Update default discovery view"
      }
    },
    "/v1/discovery/default/entities/": {
      "get": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_read_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryEntitiesSchema"
                }
              }
            },
            "description": "Returns the configured discovery entities"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns the discovery entities that are used to build the discovery view."
      },
      "post": {
        "deprecated": true,
        "description": "<br/>This creates an entry for the discovery view to show collections and saved searches.<br/>Object Type should be one of COLLECTION, SAVED_SEARCH, ASSET, RECOMMENDATION or TRENDING<br/>Object ID is only needed in the case of COLLECTION, SAVED_SEARCH or ASSET<br/>metadata is for user defined extra data.<br/><br/>This creates an entry for the discovery view to show collections and saved searches.<br/>Object Type should be one of COLLECTION, SAVED_SEARCH, ASSET, RECOMMENDATION or TRENDING<br/>Object ID is only needed in the case of COLLECTION, SAVED_SEARCH or ASSET<br/>metadata is for user defined extra data.<br/>\nRequired roles:\n - can_write_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryEntitySchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryEntitySchema"
                }
              }
            },
            "description": "Returns the configured discovery entities"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Adds a new discovery entity."
      }
    },
    "/v1/discovery/default/entities/admin/": {
      "get": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_write_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryEntitiesSchema"
                }
              }
            },
            "description": "Returns the configured discovery entities"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns the discovery entities that are used to build the discovery view."
      }
    },
    "/v1/discovery/default/entities/{entity_id}/": {
      "delete": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_delete_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "entity_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Without body"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Search History does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Delete a discovery entity by id"
      },
      "get": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_read_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "entity_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryEntitySchema"
                }
              }
            },
            "description": "Returns Discovery entity"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Requested page does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns discovery entity"
      },
      "patch": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_write_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "entity_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryEntitySchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Returns new entity"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Search History does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Update a discovery entity by id"
      },
      "put": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_write_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "entity_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryEntitySchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Returns new entity"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Search History does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Update a discovery entity by id"
      }
    },
    "/v1/discovery/entities/{object_type}/{object_id}/": {
      "patch": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_write_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "object_type",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "object_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryEntitySchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Returns updated entity"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Discovery entity does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Update a discovery entity by object's type and id"
      },
      "put": {
        "deprecated": true,
        "description": "\nRequired roles:\n - can_write_discovery_entities\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "object_type",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "object_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryEntitySchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Returns updated entity"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Discovery entity does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Update a discovery entity by object's type and id"
      }
    },
    "/v1/favorites/": {
      "delete": {
        "description": "\nRequired roles:\n - can_delete_favorites\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkDeleteFromFavoritesSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkDeleteFromFavoritesSchema"
                }
              }
            },
            "description": "Returns a list of saved search IDs that were removed from favorites"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Deletes multiple saved searches from a list of favorites"
      },
      "post": {
        "description": "\nRequired roles:\n - can_write_favorites\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkAddToFavoritesSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkAddToFavoritesSchema"
                }
              }
            },
            "description": "Returns a list of saved search IDs that were added to favorites"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Adds multiple saved searches to a list of favorites"
      }
    },
    "/v1/nltf_parse/": {
      "post": {
        "description": "\nRequired roles:\n - can_search\n- can_search_with_ai\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NltfParseRequestSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NltfParseResponseSchema"
                }
              }
            },
            "description": "Returns the parsed query result with metadata"
          },
          "400": {
            "description": "Bad request - missing or invalid query"
          },
          "403": {
            "description": "NLTF is not enabled for this domain"
          },
          "429": {
            "description": "AI service rate-limited \u2014 frontend should retry with backoff"
          },
          "500": {
            "description": "Internal server error during parsing"
          },
          "502": {
            "description": "Upstream error (LLM authentication failed or unparseable output)\n"
          },
          "503": {
            "description": "NLTF client not initialized or unhealthy"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Parse a natural language query into structured search filters"
      }
    },
    "/v1/search/": {
      "post": {
        "description": "\nRequired roles:\n - can_search\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The number of documents for each page",
            "in": "query",
            "name": "per_page",
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Which page number to fetch",
            "in": "query",
            "name": "page",
            "schema": {
              "default": 1,
              "format": "int32",
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "deprecated": true,
            "description": "If true passed then uses scroll pagination instead of default one (Deprecated, user search_after body parameter instead)",
            "in": "query",
            "name": "scroll",
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "deprecated": true,
            "description": "In order to get next batch of results using scroll pagination the scroll_id is required",
            "in": "query",
            "name": "scroll_id",
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Set to false if you don't need a URL, will speed things up",
            "in": "query",
            "name": "generate_signed_url",
            "schema": {
              "default": true,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Set to true if you also want the file download URLs generated",
            "in": "query",
            "name": "generate_signed_download_url",
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Set to true if you want to generate signed download urls",
            "in": "query",
            "name": "generate_signed_proxy_url",
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Set to false if you don't want to save the search to the history",
            "in": "query",
            "name": "save_search_history",
            "schema": {
              "default": true,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Comma-separated list of asset types to include in results. Defaults to all except POST.",
            "in": "query",
            "name": "types",
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchCriteriaSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDocumentsSchema"
                }
              }
            },
            "description": "Returns the result of search"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Requested page does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Search"
      }
    },
    "/v1/search/content/info/": {
      "post": {
        "description": "<br/>The returned information includes count of assets and collections,<br/>total size of all assets (in bytes) and total duration of video and audio<br/>assets (in milliseconds).<br/>The returned information includes count of assets and collections,<br/>total size of all assets (in bytes) and total duration of video and audio<br/>assets (in milliseconds).\nRequired roles:\n - can_search\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Compute total size only for files with the specified format name (default - ORIGINAL)",
            "in": "query",
            "name": "format_name",
            "schema": {
              "default": "ORIGINAL",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Group results by storage_id / storage_method",
            "in": "query",
            "name": "by_storage_id",
            "schema": {
              "default": true,
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchCriteriaSavedSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchContentInfoSchema"
                }
              }
            },
            "description": "Returns aggregated information about the search results"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Get aggregated information about search results"
      }
    },
    "/v1/search/convert_to_collection/": {
      "post": {
        "description": "\nRequired roles:\n - can_search\n- can_create_collections\n- can_write_collections\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchConvertCollectionSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "202": {
            "description": "Schedules all the assets of the search to be added to a collection"
          },
          "400": {
            "description": "Bad request, or the search does not have any results, or it has more results than `CONVERT_SEARCH_TO_COLLECTION_MAX_HITS`\n"
          },
          "401": {
            "description": "Token is invalid"
          },
          "403": {
            "description": "Access denied"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Copies the results of a search to a collection"
      }
    },
    "/v1/search/history/": {
      "get": {
        "description": "\nRequired roles:\n - can_read_search_history\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchHistoryListSchema"
                }
              }
            },
            "description": "Returns list of last 25 searches"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns the current search history"
      }
    },
    "/v1/search/history/{search_history_id}/": {
      "delete": {
        "description": "\nRequired roles:\n - can_delete_search_history\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_history_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Without body"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Search History does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Delete a search from history by its id"
      },
      "get": {
        "description": "\nRequired roles:\n - can_read_search_history\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_history_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Set to true if you want to generate signed download urls",
            "in": "query",
            "name": "generate_signed_download_url",
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Set to true if you want to generate signed download urls",
            "in": "query",
            "name": "generate_signed_proxy_url",
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDocumentsSchema"
                }
              }
            },
            "description": "Returns results of search history"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Requested page does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns results of search history"
      }
    },
    "/v1/search/saved/": {
      "get": {
        "description": "\nRequired roles:\n - can_read_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The number of items for each page",
            "in": "query",
            "name": "per_page",
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Which page number to fetch",
            "in": "query",
            "name": "page",
            "schema": {
              "default": 1,
              "format": "int32",
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "If true passed then uses scroll pagination instead of default one",
            "in": "query",
            "name": "scroll",
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "In order to get next batch of results using scroll pagination the scroll_id is required",
            "in": "query",
            "name": "scroll_id",
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A comma separated list of fieldnames with order. For example - name,asc;group_id,desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Group ID",
            "in": "query",
            "name": "group_id",
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Filter list of id:s (comma separated)",
            "in": "query",
            "name": "ids",
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Search using query",
            "in": "query",
            "name": "query",
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "If true, only returns favorite saved searches",
            "in": "query",
            "name": "favorites",
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchesSchema"
                }
              }
            },
            "description": "Returns results of saved search"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Page does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns list of saved searches"
      },
      "post": {
        "description": "\nRequired roles:\n - can_write_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedSearchSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchSchema"
                }
              }
            },
            "description": "Returns the result of search"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Search, save and return result of this search"
      }
    },
    "/v1/search/saved/copy/": {},
    "/v1/search/saved/group/": {
      "post": {
        "description": "\nRequired roles:\n - can_write_saved_search_groups\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedSearchGroupSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchGroupSchema"
                }
              }
            },
            "description": "Returns the result of creation of search group instance"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Create and return saved search group data"
      }
    },
    "/v1/search/saved/group/{group_id}/": {
      "delete": {
        "description": "\nRequired roles:\n - can_delete_saved_search_groups\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Without body"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Delete a saved search group by it's id"
      },
      "get": {
        "description": "\nRequired roles:\n - can_read_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchGroupSchema"
                }
              }
            },
            "description": "Returns saved search group info"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns saved search group data"
      },
      "patch": {
        "description": "\nRequired roles:\n - can_write_saved_search_groups\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedSearchGroupSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchGroupSchema"
                }
              }
            },
            "description": "Returns the result of updating group"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search group does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Update and return saved search group data"
      },
      "put": {
        "description": "\nRequired roles:\n - can_write_saved_search_groups\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedSearchGroupSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchGroupSchema"
                }
              }
            },
            "description": "Returns the result of updating group"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search group does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Update and return saved search group data"
      }
    },
    "/v1/search/saved/group/{group_id}/search/{search_id}/": {
      "delete": {
        "description": "\nRequired roles:\n - can_write_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "description": "Without body"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Delete saved search from search group"
      },
      "post": {
        "description": "\nRequired roles:\n - can_write_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "description": "Without body"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Adds saved search to group"
      }
    },
    "/v1/search/saved/groups/": {
      "get": {
        "description": "\nRequired roles:\n - can_read_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The number of items for each page",
            "in": "query",
            "name": "per_page",
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Which page number to fetch",
            "in": "query",
            "name": "page",
            "schema": {
              "default": 1,
              "format": "int32",
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "A comma separated list of IDs. for example - 3c2db7d8-1f39-46e3-8c77-992101e5e616,683a2c63-63a0-42b0-aed8-5b62dedba840",
            "in": "query",
            "name": "ids",
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A comma separated list of fieldnames with order. For example - first_name,asc;last_name,desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchGroupsSchema"
                }
              }
            },
            "description": "Returns a list of groups info"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Page number does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns paginated list of search groups"
      }
    },
    "/v1/search/saved/groups/{group_id}/reindex/": {
      "post": {
        "description": "\nRequired roles:\n - can_reindex_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "group_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "description": "Returns a job info"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Group does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Reindex a particular saved search group by id"
      }
    },
    "/v1/search/saved/{search_id}/": {
      "delete": {
        "description": "\nRequired roles:\n - can_delete_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Without body"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Delete a saved search by its id"
      },
      "get": {
        "description": "\nRequired roles:\n - can_read_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The number of items for each page",
            "in": "query",
            "name": "per_page",
            "schema": {
              "format": "int32",
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Which page number to fetch",
            "in": "query",
            "name": "page",
            "schema": {
              "default": 1,
              "format": "int32",
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Set to false if you only want the search definition",
            "in": "query",
            "name": "include_results",
            "schema": {
              "default": true,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Set to true if you want to generate signed download urls",
            "in": "query",
            "name": "generate_signed_download_url",
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Set to true if you want to generate signed download urls",
            "in": "query",
            "name": "generate_signed_proxy_url",
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "If true passed then uses scroll pagination instead of default one",
            "in": "query",
            "name": "scroll",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "In order to get next batch of results using scroll pagination the scroll_id is required",
            "in": "query",
            "name": "scroll_id",
            "required": false,
            "schema": {
              "default": null,
              "nullable": true,
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "A serialised list of values from _sort field of a last returned record (encoded). For example - [1729527028527, \"fd273ce8-8fc6-11ef-a762-cac08d6e9f12\"]",
            "in": "query",
            "name": "search_after",
            "required": false,
            "schema": {
              "default": null,
              "nullable": true,
              "type": "object"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SavedSearchResultsSchema"
                }
              }
            },
            "description": "Returns results of saved search"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns results of saved search"
      },
      "patch": {
        "description": "\nRequired roles:\n - can_write_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedSearchSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDocumentsSchema"
                }
              }
            },
            "description": "Returns the result of search"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Search and save this search"
      },
      "put": {
        "description": "\nRequired roles:\n - can_write_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedSearchSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDocumentsSchema"
                }
              }
            },
            "description": "Returns the result of search"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Search and save this search"
      }
    },
    "/v1/search/saved/{search_id}/content/info/": {
      "get": {
        "description": "<br/>The returned information includes count of assets and collections,<br/>total size of all assets (in bytes) and total duration of video and audio<br/>assets (in milliseconds).<br/>The returned information includes count of assets and collections,<br/>total size of all assets (in bytes) and total duration of video and audio<br/>assets (in milliseconds).\nRequired roles:\n - can_read_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Compute total size only for files with the specified format name (default - ORIGINAL)",
            "in": "query",
            "name": "format_name",
            "schema": {
              "default": "ORIGINAL",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Group results by storage_id / storage_method",
            "in": "query",
            "name": "by_storage_id",
            "schema": {
              "default": true,
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchContentInfoSchema"
                }
              }
            },
            "description": "Returns results of saved search"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "Saved search does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Get aggregated information about saved search results"
      }
    },
    "/v1/search/saved/{search_id}/convert_to_collection/": {
      "post": {
        "description": "\nRequired roles:\n - can_read_saved_searches\n- can_create_collections\n- can_write_collections\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SavedSearchConvertCollectionSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "202": {
            "description": "Schedules all the objects of the saved search to be added to a collection"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "403": {
            "description": "Access denied"
          },
          "404": {
            "description": "Saved search / Collection does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Converts the saved search to a collection"
      }
    },
    "/v1/search/saved/{search_id}/reindex/": {
      "post": {
        "description": "\nRequired roles:\n - can_reindex_saved_searches\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "path",
            "name": "search_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReindexSavedSearchSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Returns a job"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "User does not exist"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Reindex a particular saved search by id"
      }
    },
    "/v1/search/suggest/": {
      "post": {
        "description": "\nRequired roles:\n - can_search\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchSuggestSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchSuggestsResponseSchema"
                }
              }
            },
            "description": "Returns search suggestions for a particular query."
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Returns search suggestions for a particular query."
      }
    },
    "/v1/views/": {
      "delete": {
        "description": "\nRequired roles:\n - can_delete_search_views\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchViewsIDSchema"
              }
            }
          },
          "description": "body",
          "required": false
        },
        "responses": {
          "200": {
            "description": "Delete was successful"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "All Views missing or not found"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Delete Views for the system domain."
      },
      "get": {
        "description": "\nRequired roles:\n - can_read_search_views\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchViewsSchema"
                }
              }
            },
            "description": "Returns all Views"
          },
          "204": {
            "description": "No Views found"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Get all Views for the system domain."
      },
      "post": {
        "description": "\nRequired roles:\n - can_write_search_views\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchViewSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchViewSchema"
                }
              }
            },
            "description": "Returns a View"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Insert a View for the system domain."
      }
    },
    "/v1/views/{view_id}/": {
      "delete": {
        "description": "\nRequired roles:\n - can_delete_search_views\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The ID of the View to delete.",
            "in": "path",
            "name": "view_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Without body"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "View is missing or not found"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Delete a View for the system domain."
      },
      "get": {
        "description": "\nRequired roles:\n - can_read_search_views\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The ID of the view to retrieve.",
            "in": "path",
            "name": "view_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchViewSchema"
                }
              }
            },
            "description": "Returns a View"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "View is missing or not found"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Get a View for the system domain."
      },
      "put": {
        "description": "\nRequired roles:\n - can_write_search_views\n",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "The ID of the view to replace.",
            "in": "path",
            "name": "view_id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchViewSchema"
              }
            }
          },
          "description": "body",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchViewSchema"
                }
              }
            },
            "description": "Returns a View"
          },
          "400": {
            "description": "Bad request"
          },
          "401": {
            "description": "Token is invalid"
          },
          "404": {
            "description": "View is missing or not found"
          },
          "default": {
            "content": {
              "application/json": {
                "examples": {
                  "multiple": {
                    "summary": "Example multiple messages.",
                    "value": {
                      "errors": {
                        "field1": "Error message for field1",
                        "field2": "Error message for field2"
                      }
                    }
                  },
                  "single": {
                    "summary": "Example single message.",
                    "value": {
                      "errors": [
                        "Example error message."
                      ]
                    }
                  }
                },
                "schema": {
                  "oneOf": [
                    {
                      "properties": {
                        "errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "properties": {
                        "errors": {
                          "type": "object"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "Error response"
          }
        },
        "summary": "Replace a View for the system domain."
      }
    },
    "/v2/nltf_parse/": {
      "post": {
        "description": "Required roles:\n- can_search\n- can_search_with_ai",
        "operationId": "nltf_parse_v2_nltf_parse__post",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NltfParseRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NltfParseResponse"
                }
              }
            },
            "description": "Parsed natural-language query"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Too many requests"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Internal server error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Upstream service error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "NLTF Parse"
      }
    },
    "/v2/ping/": {
      "get": {
        "description": "Lightweight endpoint to verify gateway routing to search-v2.",
        "operationId": "ping_v2_ping__get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            },
            "description": "Successful Response"
          }
        },
        "summary": "Routing health check"
      }
    },
    "/v2/search/": {
      "post": {
        "description": "Required roles:\n- can_search",
        "operationId": "search_v2_search__post",
        "parameters": [
          {
            "in": "query",
            "name": "per_page",
            "required": false,
            "schema": {
              "default": 10,
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "deprecated": true,
            "in": "query",
            "name": "scroll",
            "required": false,
            "schema": {
              "default": false,
              "deprecated": true,
              "type": "boolean"
            }
          },
          {
            "deprecated": true,
            "in": "query",
            "name": "scroll_id",
            "required": false,
            "schema": {
              "deprecated": true,
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "generate_signed_url",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "generate_signed_download_url",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "generate_signed_proxy_url",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "save_search_history",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "types",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "include_users",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "App-ID",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchCriteria"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchDocumentsResponse"
                }
              }
            },
            "description": "Returns the result of search"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Internal server error"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Gateway timeout"
          }
        },
        "summary": "Search"
      }
    },
    "/v2/search/natural/": {
      "post": {
        "description": "Required roles:\n- can_search",
        "operationId": "natural_search_v2_search_natural__post",
        "parameters": [
          {
            "in": "query",
            "name": "generate_signed_url",
            "required": false,
            "schema": {
              "default": true,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "generate_signed_download_url",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "generate_signed_proxy_url",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "include_users",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "App-ID",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NaturalSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NaturalSearchDebugResponse"
                }
              }
            },
            "description": "Natural-search results and the filters that produced them"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "504": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Gateway timeout"
          }
        },
        "summary": "Natural language search"
      }
    },
    "/v2/search/suggest/": {
      "post": {
        "description": "Required roles:\n- can_search",
        "operationId": "suggest_v2_search_suggest__post",
        "parameters": [
          {
            "in": "header",
            "name": "App-ID",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Auth-Token",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchSuggestRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchSuggestsResponse"
                }
              }
            },
            "description": "Returns search suggestions for a particular query"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          }
        },
        "summary": "Search suggestions"
      }
    },
    "/v2/search_backends/": {
      "get": {
        "description": "Required roles:\n- can_read_search_backends",
        "operationId": "list_search_backends_v2_search_backends__get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchBackendsListSchema"
                }
              }
            },
            "description": "Configured search backends"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "List the configured search backends of the domain"
      },
      "post": {
        "description": "Required roles:\n- can_write_search_backends",
        "operationId": "create_search_backend_v2_search_backends__post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchBackendCreateSchema"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchBackendReadSchema"
                }
              }
            },
            "description": "The created search backend"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "Configure a new search backend for the domain"
      }
    },
    "/v2/search_backends/kinds/": {
      "get": {
        "description": "Required roles:\n- can_read_search_backends",
        "operationId": "list_search_backend_kinds_v2_search_backends_kinds__get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KindsListSchema"
                }
              }
            },
            "description": "Installed backend kinds"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          }
        },
        "summary": "List the installed search backend kinds and their options schemas"
      }
    },
    "/v2/search_backends/{backend_id}/": {
      "delete": {
        "description": "Required roles:\n- can_delete_search_backends",
        "operationId": "delete_search_backend_v2_search_backends__backend_id___delete",
        "parameters": [
          {
            "in": "path",
            "name": "backend_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The search backend was deleted"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "Delete a configured search backend"
      },
      "get": {
        "description": "Required roles:\n- can_read_search_backends",
        "operationId": "get_search_backend_v2_search_backends__backend_id___get",
        "parameters": [
          {
            "in": "path",
            "name": "backend_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchBackendReadSchema"
                }
              }
            },
            "description": "The configured search backend"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "Get one configured search backend"
      },
      "patch": {
        "description": "Required roles:\n- can_write_search_backends",
        "operationId": "update_search_backend_v2_search_backends__backend_id___patch",
        "parameters": [
          {
            "in": "path",
            "name": "backend_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchBackendUpdateSchema"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchBackendReadSchema"
                }
              }
            },
            "description": "The updated search backend"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "Update a configured search backend"
      },
      "put": {
        "description": "Required roles:\n- can_write_search_backends",
        "operationId": "update_search_backend_v2_search_backends__backend_id___put",
        "parameters": [
          {
            "in": "path",
            "name": "backend_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchBackendUpdateSchema"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchBackendReadSchema"
                }
              }
            },
            "description": "The updated search backend"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "Replace a configured search backend"
      }
    },
    "/v2/search_backends/{backend_id}/test/": {
      "post": {
        "description": "Required roles:\n- can_write_search_backends",
        "operationId": "test_search_backend_v2_search_backends__backend_id__test__post",
        "parameters": [
          {
            "in": "path",
            "name": "backend_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectionTestSchema"
                }
              }
            },
            "description": "The connection test outcome"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Bad request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Token is invalid"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Not found"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            },
            "description": "Validation Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            },
            "description": "Service unavailable"
          }
        },
        "summary": "Test a configured search backend against its remote provider"
      }
    }
  },
  "servers": [
    {
      "url": "/API/search/"
    }
  ]
}
