Filtering
Most list endpoints in NeMo Platform accept a filter parameter for narrowing results. Filter values can be expressed as dot flags (CLI only), bracket notation (URLs), text syntax (compact, URL-aware callers), or JSON (SDKs and programmatic builders).
Prefer the form that’s most natural for the caller:
- CLI:
--filter.<field>dot flags for simple cases →--filter '<text>'when you need operators/boolean logic →--filter '<json>'for complex nested queries. - REST URL:
?filter[field][$op]=valuebracket notation → JSON blob (?filter={...}URL-encoded) → text syntax (readable but requires URL-encoding spaces and quotes). - SDK: JSON dicts on typed endpoints; text or JSON strings on endpoints whose
filterparameter is typed asstr(client.projects.list,client.workspaces.list,client.entities.list).
Filter syntaxes
CLI dot flags
Generated CLI list commands expose each simple filter field as its own option:
Dot flags cover exact-match on scalar fields. For operators ($gte, $like, …) or boolean combinations, fall through to --filter with text or JSON:
Bracket notation
The preferred form for REST query strings. Each ?filter[field][$op]=value pair is URL-encoding-friendly and composable:
When no operator is specified, the default is $eq:
On datetime fields, bare bracket values also default to $eq — ?filter[created_at]=2025-01-01 matches only rows whose timestamp equals 2025-01-01 exactly, which is rarely what you want. Use an explicit comparison operator ($gte, $lte, $gt, $lt) for datetime fields.
Text syntax
A compact, human-readable query string. Handy for CLI and SDK string filters; in URLs you need to URL-encode spaces and quotes, so bracket notation is usually easier there.
Text operators:
Combine conditions with AND, OR, and parentheses:
Spaces between conditions are treated as implicit AND.
String values must be double-quoted.
JSON
Pass a dictionary to the filter parameter. Keys are field names; values are either a literal (for exact match) or an operator object. This form is most useful when building queries programmatically:
When a bare value is provided (without an operator object), it defaults to $eq:
Operators reference
Nested fields
The API supports filtering on labels via extra_query with bracket notation:
The equivalent REST call: