# 83. Query: Collect Platform Context

At a large number (hundreds or thousands) of processed datasets (like "SatelliteImage", "AsAppliedDataset", "YieldDataset", "SoilDataset", etc) there is always a demand to understand the status of the processing of every dataset and collect the processing summary. These details are provided using `getPlatformContext` query.&#x20;

The common cases:&#x20;

* Trace the processing progress
* Collect processing summary and statistics
* Observe errors and warnings during processing for further deeper investigation of affected datasets

{% code overflow="wrap" lineNumbers="true" %}

```graphql
query CollectPlatformContext {
 getPlatformContext(input: {
   userUuids: ["<placeholder_of_user_uuid>"],
   statuses: [Start, Done, Warning, Error, Ignored],
   dateFrom: "2023-05-25T12:49:00.000Z", 
   dateTo: "2023-05-30T06:35:00.000Z", 
 }) {
   events {
     fieldUuid
     subFieldUuid
     subFieldType
     operationId
     status 
     executionDate
     messageKey
     optional
   }
 }
}
```

{% endcode %}

Supported input filters:

* `dateFrom` as datetime in ISO 8601 format (ex: `"2023-05-25T12:49:00.000Z"`)
* `dateTo` as datetime in ISO 8601 format (ex: `"2023-05-30T06:35:00.000Z"`)
* `operationIds` as array of the operation identificators (`Strings`)
* `statuses` as array contained values from `ContextEventStatus` enum with all processing statuses including intermediate, recommended to use the key ones `[Start, Done, Warning, Error, Ignored]`
* `subFieldTypes` as array had  values of `TreeNodeEntity` enum with all GeoPard entities
* `subFieldUuids` as array with UUIDs linked to the selected entities in `subFieldTypes`&#x20;
* `userUuids` as array of "User" UUIDs to search

{% hint style="info" %}
At least one of the following filters must be initialized: `userUuids`, `fieldUuids`, `subFieldUuids`, or `operationIds`.
{% endhint %}

{% hint style="info" %}
If `dateFrom` and `dateTo` are not specified, the default query duration is set to 12 hours. The maximum recommended time span for data retrieval is 24 hours.
{% endhint %}

{% hint style="info" %}
There is a limit of max 10,000 rows delivered.
{% endhint %}

{% hint style="info" %}
To observe all available latest values of enums (like: `TreeNodeEntity`,  `ContextEventStatus, ContextMessageKey`),  it is recommended to use [Altair](https://docs.geopard.tech/geopard-tutorials/api-docs/getting-started).
{% endhint %}

The output object includes the following attributes:

* `fieldUuid` represents the UUID of the associated Field
* `subFieldUuid` denotes the UUID of the linked processed dataset (like "SatelliteImage", "AsAppliedDataset", "YieldDataset", "SoilDataset", etc)
* `subFieldType` as enum linked to the `TreeNodeEntity`
* `operationId` as string that holds the identifier of the operation, it remains consistent across all related processing chains, it's advisable to group by this identifier to trace all processing stages
* `status` as enum linked to `ContextEventStatus`
* `executionDate` as string in the ISO 8601 format that indicates the moment of execution
* `messageKey` as enum linked to `ContextMessageKey` that describes the outcome of the execution
* `optional` as string that provides a technical description (if relevant), it is primarily used for debugging and bug reporting
