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:
Operator | Date | Number | String |
---|---|---|---|
= | ✅ | ✅ | ✅ |
!= | ✅ | ✅ | ✅ |
> | ✅ | ✅ | ➖ |
>= | ✅ | ✅ | ➖ |
< | ✅ | ✅ | ➖ |
<= | ✅ | ✅ | ➖ |
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.
- Foundation -- all endpoints
- Jonas Premier -- all endpoints
- QuickBooks Online:
- GET
/ap-invoices
- GET
/ar-invoices
- GET
/customers
- GET
/vendors
- GET
- Sage Intacct -- all endpoints
- Sage 100 Contractor -- all endpoints
- Viewpoint Spectrum -- all endpoints
- Viewpoint Vista -- all endpoints