Filter syntax
The filter parameter uses a compact field:value grammar that replaces the individual query parameters of previous API versions.
Operators
| Operator | Meaning | Example |
|---|---|---|
, | AND across fields | given_name:Paolo,last_name:Manghi |
| | OR within a field | last_name:Manghi|Smith |
! | Negation | last_name:!Smith |
note
Filters are combined with AND (comma). Within a single field, use pipe (|) for OR. These cannot be mixed — each field entry is either a single value, a negation, or an OR-list.
Filter fields
Identity
| Field | Type | OR | NOT | Example |
|---|---|---|---|---|
id | string | ✓ | ✓ | id:orcid_______::412404e11ee7ce59ed3acaec05a162fb |
ids.original | string | ✓ | ✓ | ids.original:0000-0002-1825-0097 |
Names
| Field | Type | OR | NOT | Example |
|---|---|---|---|---|
given_name | string | ✓ | ✓ | given_name:Paolo |
last_name | string | ✓ | ✓ | last_name:Manghi |
Text search sub-filters
| Field | Description | Example |
|---|---|---|
default.search | Search all default fields (same as top-level search) | default.search:Manghi |
Combined examples
Full name match:
/v4/persons?filter=given_name:Paolo,last_name:ManghiEither of two last names:
/v4/persons?filter=last_name:Manghi|Smith