Datasources GraphQL API๐
Note
On February 3, 2026, the current v1 DataSource Assets API queries (applicable only to queries, not mutations) will be deprecated.
The updated v2 API will introduce advanced features such as filtering and pagination, in addition to significant performance improvements for tenants managing large volumes of reporting sources.
The filtering functionality in v2 now includes the sourceIdSearch field, which allows for more granular filtering by accepting a list of strings for partial matching. This differs from the sourceId field, which performs exact matches.
It is important to note that both the new data sources page and the data returned by the v2 implementation are eventually consistent. As a result, actions such as deleting an asset may not be immediately reflected on the page or in the results of the getDataSourceLastSeenAssetsV2 query.
AuthzObject๐
Description: AuthzObject enumerates all objects required for correct authorization into the application
AuthzAction๐
Description: AuthzObject enumerates all possible actions allowed for the given object(s)
Node๐
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| id | ID |
ID๐
Description: The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
LastSeenAsset๐
Description: The LastSeenAsset type defines a dataset relevant to health status information on a given Collector
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| sourceId | ID | ||
| service | String | ||
| sensorType | String | ||
| collectorID | ID | ||
| lastSeen | Int | ||
| health | HealthState | ||
| collector | ClusterIdentity | ||
| tenantID | String |
String๐
Description: The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Int๐
Description: The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
HealthState๐
Description: HealthState is a set of states a Collector is given based on the last time the particular instance was last seen.
FilterCriteria๐
Description: Facet is a set of fields that can be used to filter the data sources based on the last seen time.
DeletedAsset๐
Description: The DeletedAsset type a structure containing metadata related the action of deleting a datasource
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| sourceId | ID | ||
| collectorID | ID | ||
| successful | Boolean |
Boolean๐
Description: The Boolean scalar type represents true or false.
DeleteAssetInput๐
Description: Defines the inputs required for asset deletion.
Both the sourceId and collectorId fields are required to specify the exact asset to delete.
The corresponding mutation accepts a list of one or more assets to delete.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| sourceId | ID | ||
| collectorId | ID |
GetDataSourceInput๐
Description: Specifies the parameters necessary for retrieving a specific data source.
Either sourceId, collectorId, or both can be used to filter the data sources.
When none are provided, it will return all data sources associated with the specific tenant.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| collectorId | ID | ||
| sourceId | ID |
PageInfo๐
Description: Describes the fields to support forward and backward pagination.
The API defaults to forward pagination. Sending a mix of forward and backward pagination arguments should be avoided: if arguments are a mix of forward and backward pagination, any arguments pertaining to backward pagination will be ignored, and only the arguments that relate to forward pagination will be used.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| endCursor | String | Is passed to after to support forward pagination. |
|
| startCursor | String | Is passed to before to support backward pagination. |
|
| hasNextPage | Boolean | Is used to determine if there are more results to fetch during forward pagination. When using backward pagination this will be false, even if there are results from a previously fetched page. |
|
| hasPreviousPage | Boolean | Is used to determine if there are more results to fetch during backward pagination. When using forward pagination this will be false, even if there are results from a previously viewed page. |
QLPageCursor๐
Description: QLPageCursor describes cursor information that can be used for navigating the results on a per page fashion. Its main difference
with PageInfo is that it will indicate more results by returning optionally returning previousCursor and nextCursor instead of a boolean.
This object also returns the total count and the current page count, to ease logic in the UI.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| nextCursor | String | Cursor for the next page, if any. Will be null when we are at the end of the result set | |
| previousCursor | String | Cursor for the previous page, if any. Will be null when we are at beginning of the result set | |
| cursor | String | The cursor for the current page. | |
| count | Int | How many records are being returned on this page | |
| totalCount | Int | How many records are available for the given search criteria |
DataSourceAssetsFilter๐
Description: DataSourceAssetFilter is used to filter based on specific criteria when querying for data source information. CollectorId allows the client to filter the data sources based on the id of a specific collector. SourceId allows the client to filter the data sources based on the id of a specific source. Status allows the client to provide a list of health states to filter the data sources. Where provides the fields to support filtering of the data sources.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| status | [HealthState] | ||
| where | DataSourcesWhereInput |
DataSourcesWhereInput๐
Description: Describes the fields to support filtering of the data sources. The behavior of the query is to use the the list of values for a filter criteria as as logic ors and each different filter criteria type will be grouped as logic ands when more than one is provided.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| sourceId | [String] | ||
| type | [String] | ||
| sensorType | [String] | ||
| collectorId | [String] | ||
| sourceIdSearch | [String] |
LastSeenQueryInput๐
Description: Represents the result of querying last seen data for assets, it can contain an optional 'assets' list if the CQL query is a search Or an 'aggregations' map when the query is an aggregation query.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| ql | String | a CQL string. e.g. FROM datasources WHERE ... | |
| cursor | String | Only for search queries. The cursor representing the page to return a base64 encoded '{offset} {count}' template. Normally you will get this value from a previous request. (previousCursor, nextCursor) | |
| count | Int | How many records after the cursor (positive number) or before (negative number) should be returned, this allows setting the page size, or change it if needed. This only applies for search queries |
LastSeenAssetsSort๐
Description: Provides the fields to support ordering of the data sources.
LastSeenAssets๐
Description: Is the returned type by querying getDataSourceLastSeenAssetsV2, it contains the list of assets and the pageInfo used to support forward and backward pagination.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| assets | [LastSeenAsset] | ||
| totalCount | Int | ||
| pageInfo | PageInfo |
LastSeenAssetsQueryResult๐
Description: Represents the result of querying last seen data for assets, it can contain an optional 'assets' list if the CQL query is a search Or an 'aggregations' map when the query is an aggregation query.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| assets | [LastSeenAsset] | Contains the list of last seen assets. It will be populated if the QL used results on a search query (no aggregations) | |
| pagination | QLPageCursor | Only available for search queries, describes pagination information from the assets result set | |
| aggregations | [Map!] | If the QL provided results in aggregations, this map will be populated with the results instead of 'assets' |
FilterValueResponse๐
Description: FilterValueResponse is a union type that can be either a FilterValue or a ClusterIdentity.
FilterValue๐
Description: FilterValue contains a single value for a given FilterCriteria
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| value | String |
ClusterIdentity๐
Description: ClusterIdentity is a type that contains the id and name of a cluster -- which is effectively a collector. In the context of this API, it is used to represent a collector a given source is associated with.
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| id | ID | ||
| name | String |
FilterValues๐
Description: FilterValues is the return type used to provide the values for a given FilterCriteria
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| filter | FilterCriteria | ||
| values | [FilterValueResponse!]! |
Query๐
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| getDataSourceLastSeenAsset | LastSeenAsset | Fetches the last seen data about all data sources associated with a tenant based on input parameters. It provides ability to filter the data by collectorId and sourceId. Authorization permission is required with read access to the collector object. |
input: GetDataSourceInput |
| getDataSourceLastSeenAssetsV2 | LastSeenAssets | Fetches the last seen data about all data sources associated with a tenant based on input parameters. It provides ability to filter the data by collectorId and sourceId. The data returned by this query is eventually consistent. Consequently, actions such as deleting an asset may not be immediately reflected in the result set. Authorization permission is required with read access to the collector object. It also supports forward and backward pagination. |
first: Int, last: Int, after: String, before: String, filter: DataSourceAssetsFilter, sort: LastSeenAssetsSort |
| getDataSourceLastSeenAssetFilterValues | FilterValues | Provides clients with the ability to retrieve the possible values for a given filter criteria. Note that unique values will be returned, for enum types, only those observed in the data set will be returned. |
input: FilterCriteria |
| dataSourceLastSeenAssetsQuery | LastSeenAssetsQueryResult | Allows querying last seen data for assets using CQL | input: LastSeenQueryInput |
Mutation๐
Fields๐
| Field | Type | Description | Arguments |
|---|---|---|---|
| deleteDataSourceAssets | DeletedAsset | Executes a delete operation on all included data sources for a specified tenant. Returns an array of all deleted assets with metadata. Authorization permission is required with delete access to the collector object. |
deleteAssetInput: DeleteAssetInput |