Search catalog assets
POST/catalog/search
Searches across catalog data sources and returns the assets associated with each. Despite being a POST, this operation takes no request body: every input is a query parameter, and any body sent is ignored.
Two search modes are available via search_type. "traditional" does keyword matching over the fields named in FieldsToMatch. "semantic" does embedding-based matching, requires a non-empty query, requires AI services to be enabled, and returns extra per-asset attributes.
Setting get_metrics=true changes the response shape entirely: it returns only facet counts and total_count, with no Results array and no pagination keys. Use it to populate filter controls, then run the real search separately.
Filtering: any query parameter that is not one of the documented system parameters is treated as a filter on the catalog field of that exact name, with comma-separated values. Filter values are lower-cased before matching, except for FieldsToMatch. There is no allow-list, so a misspelled filter name silently matches nothing rather than erroring.
Pagination: paging is by page_number, which is zero-based, combined with limit as the page size. Read next_available in the response; while it is "yes" increment page_number, and stop when it is "no". total_pages is also returned. Note that the offset parameter is validated but has no effect.
Request
Responses
- 200
- 400
- 500
Search results. The body is CatalogSearchResponse normally, or CatalogSearchMetricsResponse when get_metrics=true. When the request sends Accept-Encoding: gzip the body is gzip-compressed and base64-encoded.
Response Headers
Set to "gzip" when the request asked for compression.
Input validation, authorization, or unavailable-feature failure. Body is {"Message": " -
Response Headers
Backend failure. The most common cause is the search backend being unavailable or the catalog index being rebuilt, reported as GE-1004. Body is {"Message": " -