Skip to main content

Filters

You can apply filters to our List API endpoints (e.g. GET /projects) to return a subset of results.

You can apply one or more filters in the request body with the following operators:

OperatorDateNumberString
=
!=
>
>=
<
<=
LIKE
NOT LIKE
ILIKE
NOT ILIKE
IN
NOT IN
BETWEEN
NOT BETWEEN

Note: we do not yet support filters for all List API endpoints. If you would like a filter that is not yet supported, feel free to let us know at api-support@agaveapi.com and we should be able to quickly add it.

We support filter in both the request body and in query parameter:

1. Apply Filters in Request Body

Example Filter by Value

The below example filters a list of Projects to ones that have a status of "Active":

curl --request GET https://api.agaveapi.com/projects \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your_client_id' \
--header 'Client-Secret: your_client_secret' \
--header 'Account-Token: account_token' \
--header 'Content-Type: application/json' \
--data-raw '{
"filters": [
{
"field": "status",
"operator": "=",
"value": "Active"
}
]
}'

Example Filter by Timeframe

The below example filters a list of Transmittals to those sent between 01-01-2022 and 01-31-2022:

curl --request GET https://api.agaveapi.com/transmittals \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your_client_id' \
--header 'Client-Secret: your_client_secret' \
--header 'Account-Token: account_token' \
--header 'Content-Type: application/json' \
--data-raw '{
"filters": [
{
"field": "sent_date",
"operator": ">=",
"value": "2022-01-01"
},
{
"field": "sent_date",
"operator": "<",
"value": "2022-02-01"
}
]
}'

Example Filter by Last Updated Time

The below example filters a list of Customers to those that have been updated since 2023-05-01:

curl --request GET https://api.agaveapi.com/customers \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your_client_id' \
--header 'Client-Secret: your_client_secret' \
--header 'Account-Token: account_token' \
--header 'Content-Type: application/json' \
--data-raw '{
"filters": [
{
"field": "source_update_time",
"operator": ">=",
"value": "2025-05-01"
}
]
}'

Example Filter by State

The below example filters a list of Vendors in Viewpoint Vista where the source_data.State field is either 'OR' or 'CA':

curl --request GET https://api.agaveapi.com/vendors \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your_client_id' \
--header 'Client-Secret: your_client_secret' \
--header 'Account-Token: account_token' \
--header 'Content-Type: application/json' \
--data-raw '{
"filters": [
{
"field": "source_data.State",
"operator": "IN",
"value": ["OR", "CA"]
}
]
}'

2. Apply Filters in Query Parameter

Example Filter by Value

The below example filters a list of Projects to ones that have a status of "Active":

curl --request GET https://api.agaveapi.com/projects?filters[]={"field":"status","operator":"=","value":"active"} \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your_client_id' \
--header 'Client-Secret: your_client_secret' \
--header 'Account-Token: account_token' \
--header 'Content-Type: application/json'

Example Filter by Timeframe

The below example filters a list of Transmittals to those sent between 01-01-2022 and 01-31-2022:

curl --request GET https://api.agaveapi.com/transmittals?filters[]={ "field": "sent_date", "operator": ">=", "value": "2022-01-01"}&filters[]={ "field": "sent_date", "operator": "<", "value": "2022-02-01"} \
--header 'API-Version: 2021-11-21' \
--header 'Client-Id: your_client_id' \
--header 'Client-Secret: your_client_secret' \
--header 'Account-Token: account_token' \
--header 'Content-Type: application/json'

Coverage

Currently, we support this filter pattern for the following source systems and endpoints. Let us know if you want us to expand the support for the endpoints you need.