# FIELD\_STATISTIC\_ACCOUNT

## Overview

*This method allows you to aggregate accounts through basic statistics and a robust filter object. There are many types of filters you can apply and you can find information regarding those in the* [*Filters*](https://carpool.gitbook.io/carpool/api-reference/filters) *section of the docs. The endpoint example here shows off one of the many filters.*

{% openapi src="<https://2513171703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FE1gzfwcjB542lI2VR9XI%2Fuploads%2F314ADRTDpemzjQtbp5k4%2FCarpool_dev-FIELD_STATISTIC_ACCOUNT-0.1-resolved.json?alt=media&token=d208f1ad-2f41-4cc4-943c-80a0e7b10190>" path="/query/solana" method="post" %}
[Carpool\_dev-FIELD\_STATISTIC\_ACCOUNT-0.1-resolved.json](https://2513171703-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FE1gzfwcjB542lI2VR9XI%2Fuploads%2F314ADRTDpemzjQtbp5k4%2FCarpool_dev-FIELD_STATISTIC_ACCOUNT-0.1-resolved.json?alt=media\&token=d208f1ad-2f41-4cc4-943c-80a0e7b10190)
{% endopenapi %}

## Statistic

The "statistic" field in the post body is based on the following type and can adapt to the kind of query you wish to perform

```typescript
type FieldStatistic = 'avg' | 'sum' | 'std' | 'min' | 'max' | { percentile: number }
```

## Filters

As mentioned above, the api definition here illustrates one of Carpool's many filter types. All queries that accept a filter object in the POST body can make use of **any** of the potential filters. Please see the Account Filters section of the documentation to better understand how they are implemented for account related queries.

{% content-ref url="../filters/account-filters" %}
[account-filters](https://carpool.gitbook.io/carpool/api-reference/filters/account-filters)
{% endcontent-ref %}

## Example

**Program** - *Candy Machine*

**Description** *- Return the average of the value at data.creators.percentageShare for all CandyMachine account types. Filter for only accounts that include the pubkey "*&#x47;H2mL1wdNZZQbogCGs8Rinp6zvLxzCzpH17v9Aj1xesF" for the collectionMint value and only look in the specified time range.

#### Javascript

```javascript
var myHeaders = new Headers();
myHeaders.append("x-api-key", "<API_KEY>");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({
  "type": "FIELD_STATISTIC_ACCOUNT",
  "query": {
    "programId": "CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR",
    "accountName": "CandyMachine",
    "path": "data.creators.percentageShare",
    "statistic": "avg",
    "filter": {
      "type": "ACCOUNT_DATA_KEYWORD",
      "path": "collectionMint",
      "value": "GH2mL1wdNZZQbogCGs8Rinp6zvLxzCzpH17v9Aj1xesF"
    },
    "timeRange": {
      "before": "2023-07-19T22:53:09+0000",
      "after": "2023-07-11T22:53:09+0000"
    }
  }
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://mainnet.carpool.dev/query/solana", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
```

#### cURL

```
curl --location 'https://mainnet.carpool.dev/query/solana' \
--header 'x-api-key: <API_KEY>' \
--header 'Content-Type: application/json' \
--data '{
    "type": "FIELD_STATISTIC_ACCOUNT",
    "query": {
        "programId": "CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR",
        "accountName": "CandyMachine",
        "path": "data.creators.percentageShare",
        "statistic": "avg",
        "filter": {
            "type": "ACCOUNT_DATA_KEYWORD",
            "path": "collectionMint",
            "value": "GH2mL1wdNZZQbogCGs8Rinp6zvLxzCzpH17v9Aj1xesF"
        },
        "timeRange": {
            "before": "2023-07-19T22:53:09+0000",
            "after": "2023-07-11T22:53:09+0000"
        }
    }
}'
```
