Metadata filter (legacy)
This page documents the filter format used by the legacy AutoRAG REST API. For the new AI Search REST API filter syntax, refer to Metadata filtering.
Compare a metadata attribute (for example, folder or timestamp) with a target value:
filters: { type: "eq", key: "folder", value: "customer-a/"}| Operator | Description |
|---|---|
eq | Equals |
ne | Not equals |
gt | Greater than |
gte | Greater than or equal to |
lt | Less than |
lte | Less than or equal to |
Combine multiple comparison filters with a logical operator:
filters: { type: "and", filters: [ { type: "eq", key: "folder", value: "customer-a/" }, { type: "gte", key: "timestamp", value: "1735689600000" } ]}The available compound operators are and and or.
- No nested combinations of
andandor. You can only use one compound operator at a time. - When using
or, only theeqoperator is allowed and all conditions must filter on the same key.
To filter for all files within a folder and its subfolders, use a compound filter with range operators.
For example, consider this file structure:
- customer-a - profile.md - contracts - property - contract-1.pdf
Using { type: "eq", key: "folder", value: "customer-a/" } only matches files directly in that folder (like profile.md), not files in subfolders.
To match all files starting with customer-a/, use a compound filter:
filters: { type: "and", filters: [ { type: "gt", key: "folder", value: "customer-a//" }, { type: "lte", key: "folder", value: "customer-a/z" } ]}This filter matches all paths starting with customer-a/ by using:
gtwithcustomer-a//to include paths greater than the/ASCII characterltewithcustomer-a/zto include paths up to and including the lowercasezASCII character
- Metadata filtering - New AI Search REST API filter format
- Migrate from AutoRAG Search API - Migration guide with before/after examples