Filtering and Sorting

Conditional Filter Parameter

This section describes how to use our conditional-based filtering, allowing you to build queries utilizing multiple expressions and conditions.

These conditional filters can be applied to the request URL as a query parameter. You can target different paths to build conditional queries against.

The queries can be built using JSON format. Do know quotes are needed for path and op values:

conditions[]={"path":"","op":"","value":""}

Path Table

The following table indicates the available path locations for each endpoint type for filtering:

Environment PathsSystem PathsLaunchpoint PathsTimeline PathsMetric PathsDetection PathsUser Paths
ID
Status
Visible
CreatedOn
Name
ID
Launchpoint/ID
UniqueCompositeKey
Name
Description
Tags
Status
LastVerifyTime
ScheduledAt
ProcessingAt
RunningAt
CreatedOn
FinishedAt
UpdatedOn
PayloadSizeBytes
CreatedBy/ID
Alias
ID
Inspector/ID
Environment/ID
TotalScheduledRuns
TotalAdHocRuns
LastScheduledRun
Version/ID
LastAdHocRun
FreqType
ActiveStart
ActiveEnd
UpdatedOn
CreatedOn
Status
System/ID
PayloadSizeBytes
UpdatedOn
FinishedAt
CreatedOn
RunningAt
ProcessingAt
ScheduledAt
ExitCode
ID
Environment/ID
Launchpoint/ID
SystemDetail/ID
Status
AdHoc
ChangeDetections
Alerts
Latest
Inspector/ID
Name
Description
Keywords
UpdatedOn
CreatedOn
ID
Environment/ID
System/ID
SystemDetail/ID
Timeline/ID
Name
Description
Keywords
CreatedOn
Inspector/ID
ID
FirstName
LastName
Email
Username
MfaFactorAuth
Status
Owner
Visible
Locked
ReceiveTechUpdates
Department

Operator Table

The following table indicates the available operator values and what data types they should be used with:

String OperatorsInteger OperatorsBoolean OperatorsDate Operators
equals
not equals
like
not like
in
not in
=
!=
<
<=
>
>=
in
not in
between
not between
is
is not
=
!=
<
<=
>
>=

Value Format Table

The following table indicates the different formats the value property must be in for the query:

Integer values ExamplesBoolean value examplesString value examplesDate value examples
1
2222
1412
true
false
"Contoso Nation"
"Agent 1"
"Active Directory"
“2021/01/10 19:21:03”

Examples

String Example

Building a query using the string operator and value:

GET /api/v1/environments?conditions[]={"path":"Name","op":"equals","value":"Contoso Nation"}

Integer Example

Building a query using the integer operator and value to only bring back timeline entries for a specific System:

GET /api/v1/timeline?conditions[]={"path":"System/ID","op":"=","value":1123}

Boolean Example

Building a query using the boolean operator and value to search for users that have MFA disabled:

GET /api/v1/users?conditions[]={"path":"MfaFactorAuth", "op": "is","value":false}

Multi-Condition Example

Building a query using more than one conditional query to search for users that have MFA disabled and are active:

GET /api/v1/users?conditions[]={"path":"MfaFactorAuth", "op": "is","value":false}&conditions[]={"path":"Status", "op": "equals","value":"active"}

Fields Parameter

This section describes how to use our field method, allowing you to pick a field to return in the response body of your request.

You can pass an optional parameter in the request URL for specifying if you only want certain fields to return in the response. Some responses have required data to return in the response which cannot be omitted. You can use the following query parameter to specify which fields you want to specify returning, :fields[]." You can reference the Paths Table if you would like to see a list of fields available to scope down.

Fields Example

Below is an example of the fields parameter being used in a request call to only return the Name and ID in the response body for Environments:

GET /api/v1/environments?fields[]=Name&fields[]=ID

Sorting

This section describes how to use our sorting methods, allowing you to pick a field to apply Ascending or Descending order to. You can reference the Paths Table if you would like to see a list of fields to sort by.

orderBy[]={"path":"","order":""}

Sorting Example

Building a query using the "OrderBy[]" parameters to sort through a list of timeline entries to return the most recent to latest:

GET /api/v1/timeline?orderBy[]={"path": "CreatedOn", "order": "desc"}

👍

Next