{"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"},"Candidate":{"description":"A single hit. May carry localized sub-items (e.g. segments).\n\nSerialization is unit-aware: ``time_range`` only exists for SEGMENT hits\n(always emitted for them, ``null`` when the backend gave no bounds; omitted\nentirely for other units, where it is meaningless), and an empty\n``sub_items`` list is omitted rather than serialized as ``[]`` (a segment\nhas no sub-structure \u2014 an empty list on it is pure noise).","properties":{"evidence":{"nullable":true,"type":"string"},"id":{"type":"string"},"id_kind":{"$ref":"#/components/schemas/IdentifierKind","default":"asset_id"},"parent_id":{"nullable":true,"type":"string"},"parent_kind":{"allOf":[{"$ref":"#/components/schemas/IdentifierKind"}],"nullable":true},"providers_details":{"additionalProperties":{"additionalProperties":{"type":"string"},"type":"object"},"type":"object"},"score":{"default":0.0,"type":"number"},"sub_items":{"items":{"$ref":"#/components/schemas/Candidate"},"type":"array"},"time_range":{"allOf":[{"$ref":"#/components/schemas/TimeRange"}],"nullable":true},"unit":{"$ref":"#/components/schemas/RankingUnit"}},"required":["id","unit"],"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"},"relaxed_filters":{"items":{"$ref":"#/components/schemas/FieldPredicate"},"type":"array"},"scoring":{"$ref":"#/components/schemas/ScoringDiagnostics"},"source_states":{"items":{"$ref":"#/components/schemas/SourceRoundState"},"type":"array"},"timing":{"$ref":"#/components/schemas/TimingDiagnostics"},"token_usage":{"$ref":"#/components/schemas/TokenUsage"}},"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"},"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"},"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 (``SearchConstraint.filters``)\nand out (``Diagnostics.applied_filters``).","properties":{"disposition":{"$ref":"#/components/schemas/FilterDisposition","default":"relaxable"},"field":{"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"},"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"},"IdentifierKind":{"description":"The *closed* vocabulary of ways a backend may identify a hit.\n\nThe authority gate only knows how to resolve these kinds back to internal\niconik assets (see the design note in ``phases/authority.py``); a candidate\ncarrying a kind the gate cannot resolve is dropped (deny-by-default). New\nkinds are added here, together with their gate resolution, never ad hoc.","enum":["asset_id","storage_uri"],"type":"string"},"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.","properties":{"kind":{"const":"lexical","default":"lexical","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"},"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"},"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"},"NaturalSearchRequest":{"properties":{"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"},"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"}},"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"},"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"},"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"},"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"},"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"},"SearchResponse":{"description":"Projected envelope. Designed so successive versions can be streamed.\n\n``version`` increments for each refined emission (fast then refined).\n``final`` marks the last version of a streamed response.","properties":{"diagnostics":{"$ref":"#/components/schemas/Diagnostics"},"final":{"default":true,"type":"boolean"},"items":{"items":{"$ref":"#/components/schemas/Candidate"},"type":"array"},"ranking_unit":{"$ref":"#/components/schemas/RankingUnit"},"result_unit":{"$ref":"#/components/schemas/RankingUnit"},"version":{"default":0,"type":"integer"}},"required":["ranking_unit","result_unit","items","diagnostics"],"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 of these rather than a ``{source: state}`` mapping: the same backend\nmay be queried in several rounds (a broadened fallback re-probes a source\nthat kept nothing), and a mapping silently overwrote the earlier round's\nstate \u2014 reporting \"ok\" for a source that had in fact timed out first.","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"},"TimeRange":{"description":"Where a SEGMENT hit sits within its parent media, in seconds.\n\nEither bound may be ``None`` when the backend only knows one of them. A\nsegment whose backend gave *no* localization at all carries\n``time_range=None`` on the candidate (explicitly ``null`` in the API);\nfusion ranks such segments below localized ones \u2014 see\n:func:`~iconik_search_v2.orchestrator.phases.fusion.aggregate.is_time_localized`.\n\n``thumbnail_s`` is the timestamp (within the same media, in seconds) of the\nframe that best represents the segment \u2014 the one a UI shows as its poster.\nWhen not supplied it defaults to the midpoint of the bounds (both known),\nso any localized segment gets a sensible representative frame for free. A\ncaller may override it with a better frame: the search backend itself (when\nit returns one), or \u2014 more commonly \u2014 our own enrichment folding in\nshot-level keyframe timestamps from our segmentation onto the matched\nmoment. It stays ``None`` only when neither bound is known.","properties":{"end_s":{"nullable":true,"type":"number"},"start_s":{"nullable":true,"type":"number"},"thumbnail_s":{"nullable":true,"type":"number"}},"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"},"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/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":"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/SearchResponse"}}},"description":"Projected natural-search results"},"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/"}]}
