> ## Documentation Index
> Fetch the complete documentation index at: https://www.propeldata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Queries

> Available queries in the Management API

<div />

## application

<ParamField path=" ">
  Returns the Application specified by the given ID.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Application</div></div>

  <Expandable title="Application">
    The Application object.

    Propel Applications represent the web or mobile app you are building. They provide the API credentials that allow your client- or server-side app to access the Propel API. The Application's Propeller determines the speed and cost of your Metric Queries.

    <ParamField path="id" type="ID" required>
      The Application's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Application's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Application's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Application's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Application's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Application's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Application's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Application's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Application's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="clientId" type="String" required>
      The Application's OAuth 2.0 client identifier.
    </ParamField>

    <ParamField path="secret" type="String">
      The Application's OAuth 2.0 client secret.
    </ParamField>

    <ParamField path="propeller" type="Propeller" required>
      The Application's Propeller.

      <Expandable title="Propeller">
        A Propeller determines your Application's query processing power. The larger the Propeller, the faster the queries and the higher the cost. Every Propel Application (and therefore every set of API credentials) has a Propeller that determines the speed and cost of queries.

        <ParamField path=" ">
          * `P1_X_SMALL`: Max records per second: 5,000,000 records per second
          * `P1_SMALL`: Max records per second: 25,000,000 records per second
          * `P1_MEDIUM`: Max records per second: 100,000,000 records per second
          * `P1_LARGE`: Max records per second: 250,000,000 records per second
          * `P1_X_LARGE`: Max records per second: 500,000,000 records per second
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="scopes" type="[ApplicationScope!]" required>
      The Application's OAuth 2.0 scopes.

      <Expandable title="ApplicationScope">
        The API operations an Application is authorized to perform.

        <ParamField path=" ">
          * `ADMIN`: Grant read/write access to Data Sources, Data Pools, Metrics and Policies.
          * `APPLICATION_ADMIN`: Grant read/write access to Applications.
          * `DATA_POOL_QUERY`: Grant read access to query Data Pools.
          * `DATA_POOL_READ`: Grant read access to read Data Pools.
          * `DATA_POOL_STATS`: Grant read access to fetch column statistics from Data Pools.
          * `ENVIRONMENT_ADMIN`: Grant read/write access to Environments.
          * `METRIC_QUERY`: Grant read access to query Metrics.
          * `METRIC_STATS`: Grant read access to fetch Dimension statistics from Metrics.
          * `METRIC_READ`: Grant read access to Metrics.

          This does not allow querying Metrics. For that, see `METRIC_QUERY`.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
      A paginated list of Data Pool Access Policies associated with the Application.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="policies" type="PolicyConnection" required deprecated>
        A paginated list of Policies associated with the Application.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#policyconnection">PolicyConnection</a>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## applicationByName

<ParamField path=" ">
  Returns the Application with the given unique name.

  ### Arguments

  <ParamField notPatch path="uniqueName" type="String" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Application</div></div>

  <Expandable title="Application">
    The Application object.

    Propel Applications represent the web or mobile app you are building. They provide the API credentials that allow your client- or server-side app to access the Propel API. The Application's Propeller determines the speed and cost of your Metric Queries.

    <ParamField path="id" type="ID" required>
      The Application's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Application's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Application's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Application's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Application's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Application's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Application's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Application's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Application's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="clientId" type="String" required>
      The Application's OAuth 2.0 client identifier.
    </ParamField>

    <ParamField path="secret" type="String">
      The Application's OAuth 2.0 client secret.
    </ParamField>

    <ParamField path="propeller" type="Propeller" required>
      The Application's Propeller.

      <Expandable title="Propeller">
        A Propeller determines your Application's query processing power. The larger the Propeller, the faster the queries and the higher the cost. Every Propel Application (and therefore every set of API credentials) has a Propeller that determines the speed and cost of queries.

        <ParamField path=" ">
          * `P1_X_SMALL`: Max records per second: 5,000,000 records per second
          * `P1_SMALL`: Max records per second: 25,000,000 records per second
          * `P1_MEDIUM`: Max records per second: 100,000,000 records per second
          * `P1_LARGE`: Max records per second: 250,000,000 records per second
          * `P1_X_LARGE`: Max records per second: 500,000,000 records per second
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="scopes" type="[ApplicationScope!]" required>
      The Application's OAuth 2.0 scopes.

      <Expandable title="ApplicationScope">
        The API operations an Application is authorized to perform.

        <ParamField path=" ">
          * `ADMIN`: Grant read/write access to Data Sources, Data Pools, Metrics and Policies.
          * `APPLICATION_ADMIN`: Grant read/write access to Applications.
          * `DATA_POOL_QUERY`: Grant read access to query Data Pools.
          * `DATA_POOL_READ`: Grant read access to read Data Pools.
          * `DATA_POOL_STATS`: Grant read access to fetch column statistics from Data Pools.
          * `ENVIRONMENT_ADMIN`: Grant read/write access to Environments.
          * `METRIC_QUERY`: Grant read access to query Metrics.
          * `METRIC_STATS`: Grant read access to fetch Dimension statistics from Metrics.
          * `METRIC_READ`: Grant read access to Metrics.

          This does not allow querying Metrics. For that, see `METRIC_QUERY`.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
      A paginated list of Data Pool Access Policies associated with the Application.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="policies" type="PolicyConnection" required deprecated>
        A paginated list of Policies associated with the Application.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#policyconnection">PolicyConnection</a>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## applications

<ParamField path=" ">
  Returns the Applications within the Environment.

  The `applications` query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

  For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

  For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

  ### Arguments

  <ParamField notPatch path="first" type="Int" />

  <ParamField notPatch path="after" type="String" />

  <ParamField notPatch path="last" type="Int" />

  <ParamField notPatch path="before" type="String" />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">ApplicationConnection</div></div>

  <Expandable title="ApplicationConnection">
    The Application connection object.

    Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

    <ParamField path="edges" type="[ApplicationEdge!]" required>
      The Application connection's edges.

      <Expandable title="ApplicationEdge">
        The Application edge object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="cursor" type="String" required>
          The edge's cursor.
        </ParamField>

        <ParamField path="node" type="Application" required>
          The edge's node.

          See <a href="/docs/management-api/types#application">Application</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="nodes" type="[Application!]" required>
      The Application connection's nodes.

      <Expandable title="Application">
        The Application object.

        Propel Applications represent the web or mobile app you are building. They provide the API credentials that allow your client- or server-side app to access the Propel API. The Application's Propeller determines the speed and cost of your Metric Queries.

        <ParamField path="id" type="ID" required>
          The Application's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Application's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Application's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Application's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Application's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Application's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Application's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Application's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Application's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="clientId" type="String" required>
          The Application's OAuth 2.0 client identifier.
        </ParamField>

        <ParamField path="secret" type="String">
          The Application's OAuth 2.0 client secret.
        </ParamField>

        <ParamField path="propeller" type="Propeller" required>
          The Application's Propeller.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="scopes" type="[ApplicationScope!]" required>
          The Application's OAuth 2.0 scopes.

          See <a href="/docs/management-api/enums#applicationscope">ApplicationScope</a>
        </ParamField>

        <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
          A paginated list of Data Pool Access Policies associated with the Application.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="policies" type="PolicyConnection" required deprecated>
            A paginated list of Policies associated with the Application.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>

            ### Arguments

            <ParamField notPatch path="first" type="Int" />

            <ParamField notPatch path="after" type="String" />

            <ParamField notPatch path="last" type="Int" />

            <ParamField notPatch path="before" type="String" />

            See <a href="/docs/management-api/types#policyconnection">PolicyConnection</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Application connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## dataSource

<ParamField path=" ">
  Returns the Data Source specified by the given ID.

  ```graphql theme={"system"}
  query {
    dataSource(id: "DSOXXXXX") {
      id
      uniqueName
      type
      tables (first: 100){
        nodes {
          id
          name
          columns (first: 100) {
            nodes {
              name
              type
              isNullable
              supportedDataPoolColumnTypes
            }
          }
        }
      }
    }
  }
  ```

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSource</div></div>

  <Expandable title="DataSource">
    The Data Source object.

    A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source.

    <ParamField path="id" type="ID" required>
      The Data Source's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Data Source's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Data Source's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Data Source's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Data Source's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Data Source's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Data Source's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="type" type="DataSourceType" required>
      The Data Source's type.

      <Expandable title="DataSourceType">
        The types of Data Sources.

        <ParamField path=" ">
          * `WEBHOOK`: Indicates a Webhook Data Source.
          * `TWILIO_SEGMENT`: Indicates a Twilio Segment Data Source.
          * `S3`: Indicates an Amazon S3 Data Source.
          * `Redshift`: Indicates a Redshift Data Source.
          * `POSTGRESQL`: Indicates a PostgreSQL Data Source.
          * `KAFKA`: Indicates a Kafka Data Source.
          * `Http`: Indicates an Http Data Source.
          * `CLICKHOUSE`: Indicates a ClickHouse Data Source.
          * `AMAZON_DYNAMODB`: Indicates an Amazon DynamoDB Data Source.
          * `AMAZON_DATA_FIREHOSE`: Indicates an Amazon Data Firehose Data Source.
          * `Snowflake`: Indicates a Snowflake Data Source.
          * `INTERNAL`: Indicates an internal Data Source.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="status" type="DataSourceStatus" required>
      The Data Source's status.

      <Expandable title="DataSourceStatus">
        The status of a Data Source.

        <ParamField path=" ">
          * `CREATED`: The Data Source has been created, but it is not connected yet.
          * `CONNECTING`: Propel is attempting to connect the Data Source.
          * `CONNECTED`: The Data Source is connected.
          * `BROKEN`: The Data Source failed to connect.
          * `DELETING`: Propel is deleting the Data Source.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="connectionSettings" type="ConnectionSettings" required>
      The Data Source's connection settings.

      <Expandable title="ConnectionSettings">
        <ParamField path="ConnectionSettings" type="SnowflakeConnectionSettings | InternalConnectionSettings | AmazonDataFirehoseConnectionSettings | AmazonDynamoDBConnectionSettings | ClickHouseConnectionSettings | HttpConnectionSettings | KafkaConnectionSettings | PostgreSqlConnectionSettings | S3ConnectionSettings | TwilioSegmentConnectionSettings | WebhookConnectionSettings">
          See <a href="/docs/management-api/types#snowflakeconnectionsettings">SnowflakeConnectionSettings</a>

          See <a href="/docs/management-api/types#internalconnectionsettings">InternalConnectionSettings</a>

          See <a href="/docs/management-api/types#amazondatafirehoseconnectionsettings">AmazonDataFirehoseConnectionSettings</a>

          See <a href="/docs/management-api/types#amazondynamodbconnectionsettings">AmazonDynamoDBConnectionSettings</a>

          See <a href="/docs/management-api/types#clickhouseconnectionsettings">ClickHouseConnectionSettings</a>

          See <a href="/docs/management-api/types#httpconnectionsettings">HttpConnectionSettings</a>

          See <a href="/docs/management-api/types#kafkaconnectionsettings">KafkaConnectionSettings</a>

          See <a href="/docs/management-api/types#postgresqlconnectionsettings">PostgreSqlConnectionSettings</a>

          See <a href="/docs/management-api/types#s3connectionsettings">S3ConnectionSettings</a>

          See <a href="/docs/management-api/types#twiliosegmentconnectionsettings">TwilioSegmentConnectionSettings</a>

          See <a href="/docs/management-api/types#webhookconnectionsettings">WebhookConnectionSettings</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="tables" type="TableConnection">
      The tables contained within the Data Source, according to the most recent table introspection.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#tableconnection">TableConnection</a>
    </ParamField>

    <ParamField path="tableIntrospections" type="TableIntrospectionConnection">
      A list of table introspections performed for the Data Source. You can see how tables and columns changed over time by paging through this list.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#tableintrospectionconnection">TableIntrospectionConnection</a>
    </ParamField>

    <ParamField path="checks" type="[DataSourceCheck!]">
      A list of checks performed on the Data Source during its most recent connection attempt.

      <Expandable title="DataSourceCheck">
        The Data Source Check object.

        Data Source Checks are executed when setting up your Data Source. They check that Propel will be able to receive data and setup Data Pools.

        The exact Checks to perform vary by Data Source. For example, Snowflake-backed Data Sources will have their own specific Checks.

        <ParamField path="name" type="String" required>
          The name of the Data Source Check to be performed.
        </ParamField>

        <ParamField path="description" type="String">
          A description of the Data Source Check to be performed.
        </ParamField>

        <ParamField path="status" type="DataSourceCheckStatus" required>
          The status of the Data Source Check (all checks begin as NOT\_STARTED before transitioning to SUCCEEDED or FAILED).

          See <a href="/docs/management-api/enums#datasourcecheckstatus">DataSourceCheckStatus</a>
        </ParamField>

        <ParamField path="error" type="Error">
          If the Data Source Check failed, this field includes a descriptive error message.

          See <a href="/docs/management-api/types#error">Error</a>
        </ParamField>

        <ParamField path="checkedAt" type="DateTime">
          The time at which the Data Source Check was performed.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataPools" type="DataPoolConnection">
      If you list Data Pools via the `dataPools` field on a Data Source, you will get Data Pools for the Data Source.

      The `dataPools` field uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

      For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

      For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#datapoolconnection">DataPoolConnection</a>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="error" type="Error" deprecated>
        <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `checks` instead</span>

        <Expandable title="Error">
          The error object.

          <ParamField path="code" type="Int">
            The error code.
          </ParamField>

          <ParamField path="message" type="String" required>
            The error message.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## dataSourceByName

<ParamField path=" ">
  Returns the Data Source specified by the given unique name.

  ### Arguments

  <ParamField notPatch path="uniqueName" type="String" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSource</div></div>

  <Expandable title="DataSource">
    The Data Source object.

    A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source.

    <ParamField path="id" type="ID" required>
      The Data Source's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Data Source's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Data Source's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Data Source's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Data Source's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Data Source's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Data Source's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="type" type="DataSourceType" required>
      The Data Source's type.

      <Expandable title="DataSourceType">
        The types of Data Sources.

        <ParamField path=" ">
          * `WEBHOOK`: Indicates a Webhook Data Source.
          * `TWILIO_SEGMENT`: Indicates a Twilio Segment Data Source.
          * `S3`: Indicates an Amazon S3 Data Source.
          * `Redshift`: Indicates a Redshift Data Source.
          * `POSTGRESQL`: Indicates a PostgreSQL Data Source.
          * `KAFKA`: Indicates a Kafka Data Source.
          * `Http`: Indicates an Http Data Source.
          * `CLICKHOUSE`: Indicates a ClickHouse Data Source.
          * `AMAZON_DYNAMODB`: Indicates an Amazon DynamoDB Data Source.
          * `AMAZON_DATA_FIREHOSE`: Indicates an Amazon Data Firehose Data Source.
          * `Snowflake`: Indicates a Snowflake Data Source.
          * `INTERNAL`: Indicates an internal Data Source.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="status" type="DataSourceStatus" required>
      The Data Source's status.

      <Expandable title="DataSourceStatus">
        The status of a Data Source.

        <ParamField path=" ">
          * `CREATED`: The Data Source has been created, but it is not connected yet.
          * `CONNECTING`: Propel is attempting to connect the Data Source.
          * `CONNECTED`: The Data Source is connected.
          * `BROKEN`: The Data Source failed to connect.
          * `DELETING`: Propel is deleting the Data Source.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="connectionSettings" type="ConnectionSettings" required>
      The Data Source's connection settings.

      <Expandable title="ConnectionSettings">
        <ParamField path="ConnectionSettings" type="SnowflakeConnectionSettings | InternalConnectionSettings | AmazonDataFirehoseConnectionSettings | AmazonDynamoDBConnectionSettings | ClickHouseConnectionSettings | HttpConnectionSettings | KafkaConnectionSettings | PostgreSqlConnectionSettings | S3ConnectionSettings | TwilioSegmentConnectionSettings | WebhookConnectionSettings">
          See <a href="/docs/management-api/types#snowflakeconnectionsettings">SnowflakeConnectionSettings</a>

          See <a href="/docs/management-api/types#internalconnectionsettings">InternalConnectionSettings</a>

          See <a href="/docs/management-api/types#amazondatafirehoseconnectionsettings">AmazonDataFirehoseConnectionSettings</a>

          See <a href="/docs/management-api/types#amazondynamodbconnectionsettings">AmazonDynamoDBConnectionSettings</a>

          See <a href="/docs/management-api/types#clickhouseconnectionsettings">ClickHouseConnectionSettings</a>

          See <a href="/docs/management-api/types#httpconnectionsettings">HttpConnectionSettings</a>

          See <a href="/docs/management-api/types#kafkaconnectionsettings">KafkaConnectionSettings</a>

          See <a href="/docs/management-api/types#postgresqlconnectionsettings">PostgreSqlConnectionSettings</a>

          See <a href="/docs/management-api/types#s3connectionsettings">S3ConnectionSettings</a>

          See <a href="/docs/management-api/types#twiliosegmentconnectionsettings">TwilioSegmentConnectionSettings</a>

          See <a href="/docs/management-api/types#webhookconnectionsettings">WebhookConnectionSettings</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="tables" type="TableConnection">
      The tables contained within the Data Source, according to the most recent table introspection.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#tableconnection">TableConnection</a>
    </ParamField>

    <ParamField path="tableIntrospections" type="TableIntrospectionConnection">
      A list of table introspections performed for the Data Source. You can see how tables and columns changed over time by paging through this list.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#tableintrospectionconnection">TableIntrospectionConnection</a>
    </ParamField>

    <ParamField path="checks" type="[DataSourceCheck!]">
      A list of checks performed on the Data Source during its most recent connection attempt.

      <Expandable title="DataSourceCheck">
        The Data Source Check object.

        Data Source Checks are executed when setting up your Data Source. They check that Propel will be able to receive data and setup Data Pools.

        The exact Checks to perform vary by Data Source. For example, Snowflake-backed Data Sources will have their own specific Checks.

        <ParamField path="name" type="String" required>
          The name of the Data Source Check to be performed.
        </ParamField>

        <ParamField path="description" type="String">
          A description of the Data Source Check to be performed.
        </ParamField>

        <ParamField path="status" type="DataSourceCheckStatus" required>
          The status of the Data Source Check (all checks begin as NOT\_STARTED before transitioning to SUCCEEDED or FAILED).

          See <a href="/docs/management-api/enums#datasourcecheckstatus">DataSourceCheckStatus</a>
        </ParamField>

        <ParamField path="error" type="Error">
          If the Data Source Check failed, this field includes a descriptive error message.

          See <a href="/docs/management-api/types#error">Error</a>
        </ParamField>

        <ParamField path="checkedAt" type="DateTime">
          The time at which the Data Source Check was performed.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataPools" type="DataPoolConnection">
      If you list Data Pools via the `dataPools` field on a Data Source, you will get Data Pools for the Data Source.

      The `dataPools` field uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

      For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

      For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#datapoolconnection">DataPoolConnection</a>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="error" type="Error" deprecated>
        <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `checks` instead</span>

        <Expandable title="Error">
          The error object.

          <ParamField path="code" type="Int">
            The error code.
          </ParamField>

          <ParamField path="message" type="String" required>
            The error message.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## dataSources

<ParamField path=" ">
  Returns the Data Sources within the Environment.

  A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source. Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads.

  The `dataSources` query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

  For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

  For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

  ### Arguments

  <ParamField notPatch path="first" type="Int" />

  <ParamField notPatch path="after" type="String" />

  <ParamField notPatch path="last" type="Int" />

  <ParamField notPatch path="before" type="String" />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceConnection</div></div>

  <Expandable title="DataSourceConnection">
    The Data Source connection object.

    Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

    <ParamField path="edges" type="[DataSourceEdge!]" required>
      The Data Source connection's edges.

      <Expandable title="DataSourceEdge">
        The Data Source edge object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="cursor" type="String" required>
          The edge's cursor.
        </ParamField>

        <ParamField path="node" type="DataSource" required>
          The edge's node.

          See <a href="/docs/management-api/types#datasource">DataSource</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="nodes" type="[DataSource!]" required>
      The Data Source connection's nodes.

      <Expandable title="DataSource">
        The Data Source object.

        A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source.

        <ParamField path="id" type="ID" required>
          The Data Source's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Source's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Source's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Source's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Source's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Source's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Source's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="type" type="DataSourceType" required>
          The Data Source's type.

          See <a href="/docs/management-api/enums#datasourcetype">DataSourceType</a>
        </ParamField>

        <ParamField path="status" type="DataSourceStatus" required>
          The Data Source's status.

          See <a href="/docs/management-api/enums#datasourcestatus">DataSourceStatus</a>
        </ParamField>

        <ParamField path="connectionSettings" type="ConnectionSettings" required>
          The Data Source's connection settings.

          See <a href="/docs/management-api/unions#connectionsettings">ConnectionSettings</a>
        </ParamField>

        <ParamField path="tables" type="TableConnection">
          The tables contained within the Data Source, according to the most recent table introspection.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableconnection">TableConnection</a>
        </ParamField>

        <ParamField path="tableIntrospections" type="TableIntrospectionConnection">
          A list of table introspections performed for the Data Source. You can see how tables and columns changed over time by paging through this list.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableintrospectionconnection">TableIntrospectionConnection</a>
        </ParamField>

        <ParamField path="checks" type="[DataSourceCheck!]">
          A list of checks performed on the Data Source during its most recent connection attempt.

          See <a href="/docs/management-api/types#datasourcecheck">DataSourceCheck</a>
        </ParamField>

        <ParamField path="dataPools" type="DataPoolConnection">
          If you list Data Pools via the `dataPools` field on a Data Source, you will get Data Pools for the Data Source.

          The `dataPools` field uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

          For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

          For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolconnection">DataPoolConnection</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `checks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Data Source connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## dataPool

<ParamField path=" ">
  Returns the Data Pool specified by the given ID.

  A Data Pool is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataPool</div></div>

  <Expandable title="DataPool">
    The Data Pool object. Data Pools are Propel's high-speed data store and cache

    <ParamField path="id" type="ID" required>
      The Data Pool's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Data Pool's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Data Pool's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Data Pool's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Data Pool's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Data Pool's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Data Pool's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataSource" type="DataSource" required>
      The Data Pool's Data Source.
      See <a href="/docs/management-api/types#datasource">DataSource</a>
    </ParamField>

    <ParamField path="status" type="DataPoolStatus" required>
      The Data Pool's status.

      <Expandable title="DataPoolStatus">
        The status of a Data Pool.

        <ParamField path=" ">
          * `CREATED`:  The Data Pool has been created and will be set up soon.
          * `PENDING`:  Propel is attempting to set up the Data Pool.
          * `LIVE`:  The Data Pool is set up and serving data. Check its Syncs to monitor data ingestion.
          * `SETUP_FAILED`:  The Data Pool setup failed. Check its Setup Tasks before re-attempting setup.
          * `CONNECTING`
          * `CONNECTED`
          * `BROKEN`
          * `PAUSING`
          * `PAUSED`
          * `DELETING`:  Propel is deleting the Data Pool and all of its associated data.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataRetentionInDays" type="Int" required>
      The Data Pool's data retention in days (not yet supported).
    </ParamField>

    <ParamField path="table" type="String" required>
      The name of the Data Pool's table.
    </ParamField>

    <ParamField path="timestamp" type="Timestamp">
      The Data Pool's primary timestamp column, if any.

      <Expandable title="Timestamp">
        A Data Pool's primary timestamp column. Propel uses the primary timestamp to order and partition your data in Data Pools. It will serve as the time dimension for your Metrics.

        <ParamField path="columnName" type="String" required>
          The name of the column that represents the primary timestamp.
        </ParamField>

        <ParamField path="type" type="String" required>
          The primary timestamp column's type.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="recordCount" type="String">
      The number of records in the Data Pool.
    </ParamField>

    <ParamField path="sizeInTerabytes" type="Float">
      The amount of storage in terabytes used by the Data Pool.
    </ParamField>

    <ParamField path="columns" type="DataPoolColumnConnection">
      The Data Pool's columns.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      <Expandable title="DataPoolColumnConnection">
        The Data Pool column connection object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="edges" type="[DataPoolColumnEdge!]" required>
          The Data Pool column connection's edges.

          See <a href="/docs/management-api/types#datapoolcolumnedge">DataPoolColumnEdge</a>
        </ParamField>

        <ParamField path="nodes" type="[DataPoolColumn!]" required>
          The Data Pool column connection's nodes.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="pageInfo" type="PageInfo" required>
          The Data Pool column connection's page info.

          See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="availableMeasures" type="DataPoolColumnConnection">
      The list of measures (numeric columns) in the Data Pool.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      <Expandable title="DataPoolColumnConnection">
        The Data Pool column connection object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="edges" type="[DataPoolColumnEdge!]" required>
          The Data Pool column connection's edges.

          See <a href="/docs/management-api/types#datapoolcolumnedge">DataPoolColumnEdge</a>
        </ParamField>

        <ParamField path="nodes" type="[DataPoolColumn!]" required>
          The Data Pool column connection's nodes.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="pageInfo" type="PageInfo" required>
          The Data Pool column connection's page info.

          See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
      A list of setup tasks performed on the Data Pool during its most recent setup attempt.

      <Expandable title="DataPoolSetupTask">
        The Data Pool Setup Task object.

        Data Pool Setup Tasks are executed when setting up your Data Pool. They ensure Propel will be able to sync records from your Data Source to your Data Pool.

        The exact Setup Tasks to perform vary by Data Source. For example, Data Pools pointing to a Snowflake-backed Data Sources will have their own specific Setup Tasks.

        <ParamField path="name" type="String" required>
          The name of the Data Pool Setup Task to be performed.
        </ParamField>

        <ParamField path="description" type="String">
          A description of the Data Pool Setup Task to be performed.
        </ParamField>

        <ParamField path="status" type="DataPoolSetupTaskStatus" required>
          The status of the Data Pool Setup Task (all setup tasks begin as NOT\_STARTED before transitioning to SUCCEEDED or FAILED).

          See <a href="/docs/management-api/enums#datapoolsetuptaskstatus">DataPoolSetupTaskStatus</a>
        </ParamField>

        <ParamField path="error" type="Error">
          If the Data Pool Setup Task failed, this field includes a descriptive error message.

          See <a href="/docs/management-api/types#error">Error</a>
        </ParamField>

        <ParamField path="completedAt" type="DateTime">
          The time at which the Data Pool Setup Task was completed.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="syncing" type="DataPoolSyncing" required>
      Settings related to Data Pool syncing.

      <Expandable title="DataPoolSyncing">
        Settings related to Data Pool syncing.

        <ParamField path="status" type="DataPoolSyncStatus" required>
          Indicates whether syncing is enabled or disabled.

          See <a href="/docs/management-api/enums#datapoolsyncstatus">DataPoolSyncStatus</a>
        </ParamField>

        <ParamField path="interval" type="DataPoolSyncInterval">
          The syncing interval.

          Note that the syncing interval is approximate. For example, setting the syncing interval to `EVERY_1_HOUR`
          does not mean that syncing will occur exactly on the hour. Instead, the syncing interval starts relative to
          when the Data Pool goes `LIVE`, and Propel will attempt to sync approximately every hour. Additionally,
          if you pause or resume syncing, this too can shift the syncing interval around.

          See <a href="/docs/management-api/enums#datapoolsyncinterval">DataPoolSyncInterval</a>
        </ParamField>

        <ParamField path="lastSyncedAt" type="DateTime">
          The date and time of the most recent Sync in UTC.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="syncs" type="SyncConnection">
      The list of Syncs of the Data Pool.

      ### Arguments

      <ParamField notPatch path="filter" type="SyncsFilter">
        <Expandable title="SyncsFilter">
          The filter to apply when listing the Syncs for a Data Pool.

          <ParamField path=" ">
            * `EMPTY`:  Returns only Syncs with empty records.
            * `NOT_EMPTY`:  Returns only Syncs that contain one or more records.
            * `ALL`:  Returns all Syncs, regardless of whether they contain records or not.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
    </ParamField>

    <ParamField path="metrics" type="MetricConnection">
      The list of Metrics powered by the Data Pool.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
    </ParamField>

    <ParamField path="deletionJobs" type="DeletionJobConnection">
      The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
    </ParamField>

    <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
      The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
    </ParamField>

    <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
      The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
    </ParamField>

    <ParamField path="accessControlEnabled" type="Boolean" required>
      Whether the Data Pool has access control enabled or not.

      If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
      Policies in order to query the Data Pool and its Metrics.
    </ParamField>

    <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
      A paginated list of Data Pool Access Policies available on the Data Pool.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
    </ParamField>

    <ParamField path="validateExpression" type="ValidateExpressionResult" required>
      Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

      ### Arguments

      <ParamField notPatch path="expression" type="String" required />

      <Expandable title="ValidateExpressionResult">
        Response returned by the validateExpression query for validating expressions in Custom Metrics.

        Returns whether the expression is valid or not with a reason explaining why.

        <ParamField path="valid" type="Boolean" required>
          True if the expression is valid, false otherwise.
        </ParamField>

        <ParamField path="reason" type="String">
          The reason for why the expression is not valid in case it isn't, null otherwise.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="tableSettings" type="TableSettings" required>
      The Data Pool's table settings.

      <Expandable title="TableSettings">
        A Data Pool's table settings.

        These describe how the Data Pool's table is created in ClickHouse.

        <ParamField path="engine" type="TableEngine">
          The ClickHouse table engine for the Data Pool's table.

          See <a href="/docs/management-api/unions#tableengine">TableEngine</a>
        </ParamField>

        <ParamField path="partitionBy" type="[String!]">
          The PARTITION BY clause for the Data Pool's table.
        </ParamField>

        <ParamField path="primaryKey" type="[String!]">
          The PRIMARY KEY clause for the Data Pool's table.
        </ParamField>

        <ParamField path="orderBy" type="[String!]">
          The ORDER BY clause for the Data Pool's table.
        </ParamField>

        <ParamField path="ttl" type="String">
          The TTL clause for the Data Pool's table.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its PARTITION BY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its PRIMARY KEY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="orderByColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its ORDER BY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="error" type="Error" deprecated>
        <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

        <Expandable title="Error">
          The error object.

          <ParamField path="code" type="Int">
            The error code.
          </ParamField>

          <ParamField path="message" type="String" required>
            The error message.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="tenant" type="Tenant" deprecated>
        The Data Pool's tenant ID, if configured.

        <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

        <Expandable title="Tenant">
          A Data Pool's tenant ID column. The tenant ID column is used to control access to your data with access policies.

          <ParamField path="columnName" type="String" required>
            The name of the column that represents the tenant ID.
          </ParamField>

          <ParamField path="type" type="String" required>
            The tenant ID column's type.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueId" type="UniqueId" deprecated>
        The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

        <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

        <Expandable title="UniqueId">
          A Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

          <ParamField path="columnName" type="String" required>
            The name of the column that represents the unique ID.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## dataPoolByName

<ParamField path=" ">
  Returns the Data Pool specified by the given unique name.

  A Data Pool is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries.

  ### Arguments

  <ParamField notPatch path="uniqueName" type="String" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataPool</div></div>

  <Expandable title="DataPool">
    The Data Pool object. Data Pools are Propel's high-speed data store and cache

    <ParamField path="id" type="ID" required>
      The Data Pool's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Data Pool's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Data Pool's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Data Pool's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Data Pool's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Data Pool's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Data Pool's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataSource" type="DataSource" required>
      The Data Pool's Data Source.
      See <a href="/docs/management-api/types#datasource">DataSource</a>
    </ParamField>

    <ParamField path="status" type="DataPoolStatus" required>
      The Data Pool's status.

      <Expandable title="DataPoolStatus">
        The status of a Data Pool.

        <ParamField path=" ">
          * `CREATED`:  The Data Pool has been created and will be set up soon.
          * `PENDING`:  Propel is attempting to set up the Data Pool.
          * `LIVE`:  The Data Pool is set up and serving data. Check its Syncs to monitor data ingestion.
          * `SETUP_FAILED`:  The Data Pool setup failed. Check its Setup Tasks before re-attempting setup.
          * `CONNECTING`
          * `CONNECTED`
          * `BROKEN`
          * `PAUSING`
          * `PAUSED`
          * `DELETING`:  Propel is deleting the Data Pool and all of its associated data.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataRetentionInDays" type="Int" required>
      The Data Pool's data retention in days (not yet supported).
    </ParamField>

    <ParamField path="table" type="String" required>
      The name of the Data Pool's table.
    </ParamField>

    <ParamField path="timestamp" type="Timestamp">
      The Data Pool's primary timestamp column, if any.

      <Expandable title="Timestamp">
        A Data Pool's primary timestamp column. Propel uses the primary timestamp to order and partition your data in Data Pools. It will serve as the time dimension for your Metrics.

        <ParamField path="columnName" type="String" required>
          The name of the column that represents the primary timestamp.
        </ParamField>

        <ParamField path="type" type="String" required>
          The primary timestamp column's type.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="recordCount" type="String">
      The number of records in the Data Pool.
    </ParamField>

    <ParamField path="sizeInTerabytes" type="Float">
      The amount of storage in terabytes used by the Data Pool.
    </ParamField>

    <ParamField path="columns" type="DataPoolColumnConnection">
      The Data Pool's columns.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      <Expandable title="DataPoolColumnConnection">
        The Data Pool column connection object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="edges" type="[DataPoolColumnEdge!]" required>
          The Data Pool column connection's edges.

          See <a href="/docs/management-api/types#datapoolcolumnedge">DataPoolColumnEdge</a>
        </ParamField>

        <ParamField path="nodes" type="[DataPoolColumn!]" required>
          The Data Pool column connection's nodes.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="pageInfo" type="PageInfo" required>
          The Data Pool column connection's page info.

          See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="availableMeasures" type="DataPoolColumnConnection">
      The list of measures (numeric columns) in the Data Pool.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      <Expandable title="DataPoolColumnConnection">
        The Data Pool column connection object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="edges" type="[DataPoolColumnEdge!]" required>
          The Data Pool column connection's edges.

          See <a href="/docs/management-api/types#datapoolcolumnedge">DataPoolColumnEdge</a>
        </ParamField>

        <ParamField path="nodes" type="[DataPoolColumn!]" required>
          The Data Pool column connection's nodes.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="pageInfo" type="PageInfo" required>
          The Data Pool column connection's page info.

          See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
      A list of setup tasks performed on the Data Pool during its most recent setup attempt.

      <Expandable title="DataPoolSetupTask">
        The Data Pool Setup Task object.

        Data Pool Setup Tasks are executed when setting up your Data Pool. They ensure Propel will be able to sync records from your Data Source to your Data Pool.

        The exact Setup Tasks to perform vary by Data Source. For example, Data Pools pointing to a Snowflake-backed Data Sources will have their own specific Setup Tasks.

        <ParamField path="name" type="String" required>
          The name of the Data Pool Setup Task to be performed.
        </ParamField>

        <ParamField path="description" type="String">
          A description of the Data Pool Setup Task to be performed.
        </ParamField>

        <ParamField path="status" type="DataPoolSetupTaskStatus" required>
          The status of the Data Pool Setup Task (all setup tasks begin as NOT\_STARTED before transitioning to SUCCEEDED or FAILED).

          See <a href="/docs/management-api/enums#datapoolsetuptaskstatus">DataPoolSetupTaskStatus</a>
        </ParamField>

        <ParamField path="error" type="Error">
          If the Data Pool Setup Task failed, this field includes a descriptive error message.

          See <a href="/docs/management-api/types#error">Error</a>
        </ParamField>

        <ParamField path="completedAt" type="DateTime">
          The time at which the Data Pool Setup Task was completed.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="syncing" type="DataPoolSyncing" required>
      Settings related to Data Pool syncing.

      <Expandable title="DataPoolSyncing">
        Settings related to Data Pool syncing.

        <ParamField path="status" type="DataPoolSyncStatus" required>
          Indicates whether syncing is enabled or disabled.

          See <a href="/docs/management-api/enums#datapoolsyncstatus">DataPoolSyncStatus</a>
        </ParamField>

        <ParamField path="interval" type="DataPoolSyncInterval">
          The syncing interval.

          Note that the syncing interval is approximate. For example, setting the syncing interval to `EVERY_1_HOUR`
          does not mean that syncing will occur exactly on the hour. Instead, the syncing interval starts relative to
          when the Data Pool goes `LIVE`, and Propel will attempt to sync approximately every hour. Additionally,
          if you pause or resume syncing, this too can shift the syncing interval around.

          See <a href="/docs/management-api/enums#datapoolsyncinterval">DataPoolSyncInterval</a>
        </ParamField>

        <ParamField path="lastSyncedAt" type="DateTime">
          The date and time of the most recent Sync in UTC.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="syncs" type="SyncConnection">
      The list of Syncs of the Data Pool.

      ### Arguments

      <ParamField notPatch path="filter" type="SyncsFilter">
        <Expandable title="SyncsFilter">
          The filter to apply when listing the Syncs for a Data Pool.

          <ParamField path=" ">
            * `EMPTY`:  Returns only Syncs with empty records.
            * `NOT_EMPTY`:  Returns only Syncs that contain one or more records.
            * `ALL`:  Returns all Syncs, regardless of whether they contain records or not.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
    </ParamField>

    <ParamField path="metrics" type="MetricConnection">
      The list of Metrics powered by the Data Pool.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
    </ParamField>

    <ParamField path="deletionJobs" type="DeletionJobConnection">
      The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
    </ParamField>

    <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
      The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
    </ParamField>

    <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
      The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
    </ParamField>

    <ParamField path="accessControlEnabled" type="Boolean" required>
      Whether the Data Pool has access control enabled or not.

      If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
      Policies in order to query the Data Pool and its Metrics.
    </ParamField>

    <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
      A paginated list of Data Pool Access Policies available on the Data Pool.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
    </ParamField>

    <ParamField path="validateExpression" type="ValidateExpressionResult" required>
      Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

      ### Arguments

      <ParamField notPatch path="expression" type="String" required />

      <Expandable title="ValidateExpressionResult">
        Response returned by the validateExpression query for validating expressions in Custom Metrics.

        Returns whether the expression is valid or not with a reason explaining why.

        <ParamField path="valid" type="Boolean" required>
          True if the expression is valid, false otherwise.
        </ParamField>

        <ParamField path="reason" type="String">
          The reason for why the expression is not valid in case it isn't, null otherwise.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="tableSettings" type="TableSettings" required>
      The Data Pool's table settings.

      <Expandable title="TableSettings">
        A Data Pool's table settings.

        These describe how the Data Pool's table is created in ClickHouse.

        <ParamField path="engine" type="TableEngine">
          The ClickHouse table engine for the Data Pool's table.

          See <a href="/docs/management-api/unions#tableengine">TableEngine</a>
        </ParamField>

        <ParamField path="partitionBy" type="[String!]">
          The PARTITION BY clause for the Data Pool's table.
        </ParamField>

        <ParamField path="primaryKey" type="[String!]">
          The PRIMARY KEY clause for the Data Pool's table.
        </ParamField>

        <ParamField path="orderBy" type="[String!]">
          The ORDER BY clause for the Data Pool's table.
        </ParamField>

        <ParamField path="ttl" type="String">
          The TTL clause for the Data Pool's table.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its PARTITION BY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its PRIMARY KEY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="orderByColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its ORDER BY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="error" type="Error" deprecated>
        <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

        <Expandable title="Error">
          The error object.

          <ParamField path="code" type="Int">
            The error code.
          </ParamField>

          <ParamField path="message" type="String" required>
            The error message.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="tenant" type="Tenant" deprecated>
        The Data Pool's tenant ID, if configured.

        <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

        <Expandable title="Tenant">
          A Data Pool's tenant ID column. The tenant ID column is used to control access to your data with access policies.

          <ParamField path="columnName" type="String" required>
            The name of the column that represents the tenant ID.
          </ParamField>

          <ParamField path="type" type="String" required>
            The tenant ID column's type.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueId" type="UniqueId" deprecated>
        The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

        <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

        <Expandable title="UniqueId">
          A Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

          <ParamField path="columnName" type="String" required>
            The name of the column that represents the unique ID.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## dataPools

<ParamField path=" ">
  Returns the Data Pools within the Environment.

  A Data Pool is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries. Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads.

  The `dataPools` query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

  For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

  For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

  ### Arguments

  <ParamField notPatch path="first" type="Int" />

  <ParamField notPatch path="after" type="String" />

  <ParamField notPatch path="last" type="Int" />

  <ParamField notPatch path="before" type="String" />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataPoolConnection</div></div>

  <Expandable title="DataPoolConnection">
    The Data Pool connection object.

    Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

    <ParamField path="edges" type="[DataPoolEdge!]" required>
      The Data Pool connection's edges.
      See <a href="/docs/management-api/types#datapooledge">DataPoolEdge</a>
    </ParamField>

    <ParamField path="nodes" type="[DataPool!]" required>
      The Data Pool connection's nodes.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Data Pool connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## environment

<ParamField path=" ">
  Returns the Environment specified by the given ID.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Environment</div></div>

  <Expandable title="Environment">
    The Environments object.

    Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

    <ParamField path="id" type="ID" required>
      The Environment's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String">
      The Environment's unique name.
    </ParamField>

    <ParamField path="description" type="String">
      The Environment's description.
    </ParamField>

    <ParamField path="createdAt" type="DateTime">
      The Environment's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime">
      The Environment's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String">
      The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String">
      The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="account" type="Account">
      The Environment's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## materializedViews

<ParamField path=" ">
  Returns the Materialized Views within the Environment.

  The `materializedViews` query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

  For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

  For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

  ### Arguments

  <ParamField notPatch path="first" type="Int" />

  <ParamField notPatch path="after" type="String" />

  <ParamField notPatch path="last" type="Int" />

  <ParamField notPatch path="before" type="String" />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MaterializedViewConnection</div></div>

  <Expandable title="MaterializedViewConnection">
    The Materialized View connection object.

    Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

    <ParamField path="edges" type="[MaterializedViewEdge!]" required>
      The Materialized View connection's edges.

      <Expandable title="MaterializedViewEdge">
        The Materialized View edge object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="cursor" type="String" required>
          The edge's cursor.
        </ParamField>

        <ParamField path="node" type="MaterializedView" required>
          The edge's node.

          See <a href="/docs/management-api/types#materializedview">MaterializedView</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="nodes" type="[MaterializedView!]" required>
      The Materialized View connection's nodes.

      <Expandable title="MaterializedView">
        <ParamField path="id" type="ID" required>
          The Materialized View's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Materialized View's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Materialized View's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Materialized View's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Materialized View's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Materialized View's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Materialized View's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Materialized View's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Materialized View's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL that the Materialized View executes.
        </ParamField>

        <ParamField path="destination" type="DataPool" required>
          The Materialized View's destination (AKA "target") Data Pool.

          See <a href="/docs/management-api/types#datapool">DataPool</a>
        </ParamField>

        <ParamField path="source" type="DataPool">
          The Materialized View's source Data Pool.

          See <a href="/docs/management-api/types#datapool">DataPool</a>
        </ParamField>

        <ParamField path="others" type="[DataPool!]" required>
          Other Data Pools queried by the Materialized View.

          See <a href="/docs/management-api/types#datapool">DataPool</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Materialized View connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## dataPoolAccessPolicy

<ParamField path=" ">
  Returns the Data Pool Access Policy specified by the given ID.

  A Data Pool Access Policy limits the data that Applications can access within a Data Pool.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataPoolAccessPolicy</div></div>

  <Expandable title="DataPoolAccessPolicy">
    <ParamField path="id" type="ID" required>
      The ID of the Data Pool Access Policy.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Data Pool Access Policy's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Data Pool Access Policy's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Data Pool Access Policy's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Data Pool Access Policy's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Data Pool Access Policy's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Data Pool Access Policy's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Data Pool Access Policy's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Data Pool Access Policy's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataPool" type="DataPool" required>
      The Data Pool to which the Access Policy belongs.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="columns" type="[String!]" required>
      Columns that the Access Policy makes available for querying.
    </ParamField>

    <ParamField path="filterSql" type="String">
      Row-level filters that the Access Policy applies before executing queries, in the form of SQL.
    </ParamField>

    <ParamField path="applications" type="ApplicationConnection" required>
      Applications that are assigned to this Data Pool Access Policy.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#applicationconnection">ApplicationConnection</a>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="rows" type="[Filter!]" deprecated>
        Row-level filters that the Access Policy applies before executing queries.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use `filtersSql` instead</span>

        <Expandable title="Filter">
          The fields of a filter.

          You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

          ```
          (value > 0 AND value <= 100) OR status = "confirmed"
          ```

          you could write

          ```
          {
            "column": "value",
            "operator": "GREATER_THAN",
            "value": "0",
            "and": [{
              "column": "value",
              "operator": "LESS_THAN_OR_EQUAL_TO",
              "value": "0"
            }],
            "or": [{
              "column": "status",
              "operator": "EQUALS",
              "value": "confirmed"
            }]
          }
          ```

          Note that `and` takes precedence over `or`.

          <ParamField path="column" type="String" required>
            The name of the column to filter on.
          </ParamField>

          <ParamField path="operator" type="FilterOperator" required>
            The operation to perform when comparing the column and filter values.

            See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
          </ParamField>

          <ParamField path="value" type="String">
            The value to compare the column to.
          </ParamField>

          <ParamField path="and" type="[Filter!]">
            Additional filters to AND with this one. AND takes precedence over OR.
          </ParamField>

          <ParamField path="or" type="[Filter!]">
            Additional filters to OR with this one. AND takes precedence over OR.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## metric

<ParamField path=" ">
  Returns the Metric specified by the given ID.

  A Metric is a business indicator measured over time.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Metric</div></div>

  <Expandable title="Metric">
    The Metric object.

    A Metric is a business indicator measured over time.

    <ParamField path="id" type="ID" required>
      The Metric's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Metric's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Metric's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Metric's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Metric's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Metric's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Metric's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Metric's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Metric's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataPool" type="DataPool">
      The Data Pool that powers this Metric.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="dimensions" type="[Dimension!]" required>
      The Metric's Dimensions. These Dimensions are available to Query Filters.

      <Expandable title="Dimension">
        The Dimension object that represents a column in a table.

        <ParamField path="columnName" type="String" required>
          The column name it represents.
        </ParamField>

        <ParamField path="type" type="String" required>
          The column data type.
        </ParamField>

        <ParamField path="isNullable" type="Boolean">
          Whether the column is nullable.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Whether the column is a unique key.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="stats" type="DimensionStatistics" deprecated>
            The statistics for the dimension values. Fetching statistics incurs query costs.

            <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

            See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="timestamp" type="Dimension">
      The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

      <Expandable title="Dimension">
        The Dimension object that represents a column in a table.

        <ParamField path="columnName" type="String" required>
          The column name it represents.
        </ParamField>

        <ParamField path="type" type="String" required>
          The column data type.
        </ParamField>

        <ParamField path="isNullable" type="Boolean">
          Whether the column is nullable.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Whether the column is a unique key.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="stats" type="DimensionStatistics" deprecated>
            The statistics for the dimension values. Fetching statistics incurs query costs.

            <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

            See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="boosters" type="BoosterConnection" required>
      List the Boosters associated to the Metric.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#boosterconnection">BoosterConnection</a>
    </ParamField>

    <ParamField path="type" type="MetricType" required>
      The Metric's type. The different Metric types determine how the values are calculated.

      <Expandable title="MetricType">
        The available Metric types.

        <ParamField path=" ">
          * `COUNT`:  Counts the number of records that matches the Metric Filters. For time series, it will count the values for each time granularity.
          * `SUM`: Sums the values of the specified column for every record that matches the Metric Filters. For time series, it will sum the values for each time granularity.
          * `COUNT_DISTINCT`: Counts the number of distinct values in the specified column for every record that matches the Metric Filters. For time series, it will count the distinct values for each time granularity.
          * `AVERAGE`: Averages the values of the specified column for every record that matches the Metric Filters. For time series, it will average the values for each time granularity.
          * `MIN`: Selects the minimum value of the specified column for every record that matches the Metric Filters. For time series, it will select the minimum value for each time granularity.
          * `MAX`: Selects the maximum value of the specified column for every record that matches the Metric Filters. For time series, it will select the maximum value for each time granularity.
          * `CUSTOM`: Aggregates values based on the provided custom expression.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="settings" type="MetricSettings" required>
      The settings for the Metric. The settings are specific to the Metric's type.

      <Expandable title="MetricSettings">
        A Metric's settings, depending on its type.

        <ParamField path="MetricSettings" type="CountMetricSettings | SumMetricSettings | CountDistinctMetricSettings | AverageMetricSettings | MinMetricSettings | MaxMetricSettings | CustomMetricSettings">
          See <a href="/docs/management-api/types#countmetricsettings">CountMetricSettings</a>

          See <a href="/docs/management-api/types#summetricsettings">SumMetricSettings</a>

          See <a href="/docs/management-api/types#countdistinctmetricsettings">CountDistinctMetricSettings</a>

          See <a href="/docs/management-api/types#averagemetricsettings">AverageMetricSettings</a>

          See <a href="/docs/management-api/types#minmetricsettings">MinMetricSettings</a>

          See <a href="/docs/management-api/types#maxmetricsettings">MaxMetricSettings</a>

          See <a href="/docs/management-api/types#custommetricsettings">CustomMetricSettings</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="measure" type="Dimension" deprecated>
        The Metric's measure. Access this from the Metric's `settings` object instead.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the Metric `settings` object instead.</span>

        <Expandable title="Dimension">
          The Dimension object that represents a column in a table.

          <ParamField path="columnName" type="String" required>
            The column name it represents.
          </ParamField>

          <ParamField path="type" type="String" required>
            The column data type.
          </ParamField>

          <ParamField path="isNullable" type="Boolean">
            Whether the column is nullable.
          </ParamField>

          <Expandable title="Deprecated Fields">
            <ParamField path="isUniqueKey" type="Boolean" deprecated>
              Whether the column is a unique key.

              <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
            </ParamField>

            <ParamField path="stats" type="DimensionStatistics" deprecated>
              The statistics for the dimension values. Fetching statistics incurs query costs.

              <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

              See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
            </ParamField>
          </Expandable>
        </Expandable>
      </ParamField>

      <ParamField path="counter" type="CounterResponse" deprecated>
        Query the Metric in counter format. Returns the Metric's value for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `counter` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="CounterInput" required>
          <Expandable title="CounterInput">
            The fields for querying a Metric in counter format.

            A Metric's counter query returns a single value over a given time range.

            <ParamField path="metric" type="MetricInput">
              The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the counter.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the counter data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the counter data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="CounterResponse">
          The counter response object. It contains a single Metric value for the given time range and Query Filters.

          <ParamField path="value" type="String">
            The value of the counter.
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeSeries" type="TimeSeriesResponse" deprecated>
        Query the Metric in time series format. Returns arrays of timestamps and the Metric's values for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `timeSeries` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="TimeSeriesInput" required>
          <Expandable title="TimeSeriesInput">
            The fields for querying a Metric in time series format.

            A Metric's time series query returns the values over a given time range aggregated by a given time granularity; day, month, or year, for example.

            <ParamField path="metric" type="MetricInput">
              The Metric to Query. It can be a pre-created one or it can be inlined here.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the time series.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="granularity" type="TimeSeriesGranularity" required>
              The time granularity (hour, day, month, etc.) to aggregate the Metric values by.

              See <a href="/docs/management-api/enums#timeseriesgranularity">TimeSeriesGranularity</a>
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the time series data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <ParamField path="groupBy" type="[String!]">
              Columns to group by.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the time series data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="TimeSeriesResponse">
          The time series response object. It contains an array of time series labels and an array of Metric values for the given time range and Query Filters.

          <ParamField path="labels" type="[String!]" required>
            The time series labels.
          </ParamField>

          <ParamField path="values" type="[String]" required>
            The time series values.
          </ParamField>

          <ParamField path="groups" type="[TimeSeriesResponseGroup!]">
            The time series values for each group in `groupBy`, if specified.

            See <a href="/docs/management-api/types#timeseriesresponsegroup">TimeSeriesResponseGroup</a>
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="leaderboard" type="LeaderboardResponse" deprecated>
        Query the Metric in leaderboard format. Returns a table (array of rows) with the selected dimensions and the Metric's corresponding values for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `leaderboard` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="LeaderboardInput" required>
          <Expandable title="LeaderboardInput">
            The fields for querying a Metric in leaderboard format.

            A Metric's leaderboard query returns an ordered table of Dimension and Metric values over a given time range.

            <ParamField path="metric" type="MetricInput">
              The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the leaderboard.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="dimensions" type="[DimensionInput!]" required>
              One or many Dimensions to group the Metric values by. Typically, Dimensions in a leaderboard are what you want to compare and rank.

              See <a href="/docs/management-api/inputs#dimensioninput">DimensionInput</a>
            </ParamField>

            <ParamField path="sort" type="Sort">
              The sort order of the rows. It can be ascending (`ASC`) or descending (`DESC`) order. Defaults to descending (`DESC`) order when not provided.

              See <a href="/docs/management-api/enums#sort">Sort</a>
            </ParamField>

            <ParamField path="rowLimit" type="Int" required>
              The number of rows to be returned. It can be a number between 1 and 1,000.
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the leaderboard data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the leaderboard data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="LeaderboardResponse">
          The leaderboard response object. It contains an array of headers and a table (array of rows) with the selected Dimensions and corresponding Metric values for the given time range and Query Filters.

          <ParamField path="headers" type="[String!]" required>
            The table headers. It contains the Dimension and Metric names.
          </ParamField>

          <ParamField path="rows" type="[[String]!]" required>
            An ordered array of rows. Each row contains the Dimension values and the corresponding Metric value. A Dimension value can be empty. A Metric value will never be empty.
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="policies" type="PolicyConnection" required deprecated>
        List the Policies associated to the Metric.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#policyconnection">PolicyConnection</a>
      </ParamField>

      <ParamField path="accessControlEnabled" type="Boolean" required deprecated>
        Whether or not access control is enabled for the Metric.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## metricByName

<ParamField path=" ">
  Returns the Metric specified by the given unique name.

  A Metric is a business indicator measured over time.

  ### Arguments

  <ParamField notPatch path="uniqueName" type="String" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Metric</div></div>

  <Expandable title="Metric">
    The Metric object.

    A Metric is a business indicator measured over time.

    <ParamField path="id" type="ID" required>
      The Metric's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Metric's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Metric's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Metric's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Metric's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Metric's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Metric's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Metric's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Metric's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataPool" type="DataPool">
      The Data Pool that powers this Metric.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="dimensions" type="[Dimension!]" required>
      The Metric's Dimensions. These Dimensions are available to Query Filters.

      <Expandable title="Dimension">
        The Dimension object that represents a column in a table.

        <ParamField path="columnName" type="String" required>
          The column name it represents.
        </ParamField>

        <ParamField path="type" type="String" required>
          The column data type.
        </ParamField>

        <ParamField path="isNullable" type="Boolean">
          Whether the column is nullable.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Whether the column is a unique key.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="stats" type="DimensionStatistics" deprecated>
            The statistics for the dimension values. Fetching statistics incurs query costs.

            <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

            See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="timestamp" type="Dimension">
      The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

      <Expandable title="Dimension">
        The Dimension object that represents a column in a table.

        <ParamField path="columnName" type="String" required>
          The column name it represents.
        </ParamField>

        <ParamField path="type" type="String" required>
          The column data type.
        </ParamField>

        <ParamField path="isNullable" type="Boolean">
          Whether the column is nullable.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Whether the column is a unique key.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="stats" type="DimensionStatistics" deprecated>
            The statistics for the dimension values. Fetching statistics incurs query costs.

            <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

            See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="boosters" type="BoosterConnection" required>
      List the Boosters associated to the Metric.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#boosterconnection">BoosterConnection</a>
    </ParamField>

    <ParamField path="type" type="MetricType" required>
      The Metric's type. The different Metric types determine how the values are calculated.

      <Expandable title="MetricType">
        The available Metric types.

        <ParamField path=" ">
          * `COUNT`:  Counts the number of records that matches the Metric Filters. For time series, it will count the values for each time granularity.
          * `SUM`: Sums the values of the specified column for every record that matches the Metric Filters. For time series, it will sum the values for each time granularity.
          * `COUNT_DISTINCT`: Counts the number of distinct values in the specified column for every record that matches the Metric Filters. For time series, it will count the distinct values for each time granularity.
          * `AVERAGE`: Averages the values of the specified column for every record that matches the Metric Filters. For time series, it will average the values for each time granularity.
          * `MIN`: Selects the minimum value of the specified column for every record that matches the Metric Filters. For time series, it will select the minimum value for each time granularity.
          * `MAX`: Selects the maximum value of the specified column for every record that matches the Metric Filters. For time series, it will select the maximum value for each time granularity.
          * `CUSTOM`: Aggregates values based on the provided custom expression.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="settings" type="MetricSettings" required>
      The settings for the Metric. The settings are specific to the Metric's type.

      <Expandable title="MetricSettings">
        A Metric's settings, depending on its type.

        <ParamField path="MetricSettings" type="CountMetricSettings | SumMetricSettings | CountDistinctMetricSettings | AverageMetricSettings | MinMetricSettings | MaxMetricSettings | CustomMetricSettings">
          See <a href="/docs/management-api/types#countmetricsettings">CountMetricSettings</a>

          See <a href="/docs/management-api/types#summetricsettings">SumMetricSettings</a>

          See <a href="/docs/management-api/types#countdistinctmetricsettings">CountDistinctMetricSettings</a>

          See <a href="/docs/management-api/types#averagemetricsettings">AverageMetricSettings</a>

          See <a href="/docs/management-api/types#minmetricsettings">MinMetricSettings</a>

          See <a href="/docs/management-api/types#maxmetricsettings">MaxMetricSettings</a>

          See <a href="/docs/management-api/types#custommetricsettings">CustomMetricSettings</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="measure" type="Dimension" deprecated>
        The Metric's measure. Access this from the Metric's `settings` object instead.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the Metric `settings` object instead.</span>

        <Expandable title="Dimension">
          The Dimension object that represents a column in a table.

          <ParamField path="columnName" type="String" required>
            The column name it represents.
          </ParamField>

          <ParamField path="type" type="String" required>
            The column data type.
          </ParamField>

          <ParamField path="isNullable" type="Boolean">
            Whether the column is nullable.
          </ParamField>

          <Expandable title="Deprecated Fields">
            <ParamField path="isUniqueKey" type="Boolean" deprecated>
              Whether the column is a unique key.

              <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
            </ParamField>

            <ParamField path="stats" type="DimensionStatistics" deprecated>
              The statistics for the dimension values. Fetching statistics incurs query costs.

              <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

              See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
            </ParamField>
          </Expandable>
        </Expandable>
      </ParamField>

      <ParamField path="counter" type="CounterResponse" deprecated>
        Query the Metric in counter format. Returns the Metric's value for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `counter` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="CounterInput" required>
          <Expandable title="CounterInput">
            The fields for querying a Metric in counter format.

            A Metric's counter query returns a single value over a given time range.

            <ParamField path="metric" type="MetricInput">
              The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the counter.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the counter data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the counter data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="CounterResponse">
          The counter response object. It contains a single Metric value for the given time range and Query Filters.

          <ParamField path="value" type="String">
            The value of the counter.
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeSeries" type="TimeSeriesResponse" deprecated>
        Query the Metric in time series format. Returns arrays of timestamps and the Metric's values for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `timeSeries` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="TimeSeriesInput" required>
          <Expandable title="TimeSeriesInput">
            The fields for querying a Metric in time series format.

            A Metric's time series query returns the values over a given time range aggregated by a given time granularity; day, month, or year, for example.

            <ParamField path="metric" type="MetricInput">
              The Metric to Query. It can be a pre-created one or it can be inlined here.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the time series.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="granularity" type="TimeSeriesGranularity" required>
              The time granularity (hour, day, month, etc.) to aggregate the Metric values by.

              See <a href="/docs/management-api/enums#timeseriesgranularity">TimeSeriesGranularity</a>
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the time series data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <ParamField path="groupBy" type="[String!]">
              Columns to group by.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the time series data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="TimeSeriesResponse">
          The time series response object. It contains an array of time series labels and an array of Metric values for the given time range and Query Filters.

          <ParamField path="labels" type="[String!]" required>
            The time series labels.
          </ParamField>

          <ParamField path="values" type="[String]" required>
            The time series values.
          </ParamField>

          <ParamField path="groups" type="[TimeSeriesResponseGroup!]">
            The time series values for each group in `groupBy`, if specified.

            See <a href="/docs/management-api/types#timeseriesresponsegroup">TimeSeriesResponseGroup</a>
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="leaderboard" type="LeaderboardResponse" deprecated>
        Query the Metric in leaderboard format. Returns a table (array of rows) with the selected dimensions and the Metric's corresponding values for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `leaderboard` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="LeaderboardInput" required>
          <Expandable title="LeaderboardInput">
            The fields for querying a Metric in leaderboard format.

            A Metric's leaderboard query returns an ordered table of Dimension and Metric values over a given time range.

            <ParamField path="metric" type="MetricInput">
              The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the leaderboard.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="dimensions" type="[DimensionInput!]" required>
              One or many Dimensions to group the Metric values by. Typically, Dimensions in a leaderboard are what you want to compare and rank.

              See <a href="/docs/management-api/inputs#dimensioninput">DimensionInput</a>
            </ParamField>

            <ParamField path="sort" type="Sort">
              The sort order of the rows. It can be ascending (`ASC`) or descending (`DESC`) order. Defaults to descending (`DESC`) order when not provided.

              See <a href="/docs/management-api/enums#sort">Sort</a>
            </ParamField>

            <ParamField path="rowLimit" type="Int" required>
              The number of rows to be returned. It can be a number between 1 and 1,000.
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the leaderboard data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the leaderboard data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="LeaderboardResponse">
          The leaderboard response object. It contains an array of headers and a table (array of rows) with the selected Dimensions and corresponding Metric values for the given time range and Query Filters.

          <ParamField path="headers" type="[String!]" required>
            The table headers. It contains the Dimension and Metric names.
          </ParamField>

          <ParamField path="rows" type="[[String]!]" required>
            An ordered array of rows. Each row contains the Dimension values and the corresponding Metric value. A Dimension value can be empty. A Metric value will never be empty.
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="policies" type="PolicyConnection" required deprecated>
        List the Policies associated to the Metric.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#policyconnection">PolicyConnection</a>
      </ParamField>

      <ParamField path="accessControlEnabled" type="Boolean" required deprecated>
        Whether or not access control is enabled for the Metric.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## metrics

<ParamField path=" ">
  Returns the Metrics within the Environment.

  A Metric is a business indicator measured over time. Each Metric is associated with one Data Pool, which is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries. Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads.

  The `metrics` query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

  For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

  For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

  ### Arguments

  <ParamField notPatch path="first" type="Int" />

  <ParamField notPatch path="after" type="String" />

  <ParamField notPatch path="last" type="Int" />

  <ParamField notPatch path="before" type="String" />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricConnection</div></div>

  <Expandable title="MetricConnection">
    The Metric connection object.

    Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

    <ParamField path="edges" type="[MetricEdge!]" required>
      The Metric connection's edges.
      See <a href="/docs/management-api/types#metricedge">MetricEdge</a>
    </ParamField>

    <ParamField path="nodes" type="[Metric!]" required>
      The Metric connection's nodes.
      See <a href="/docs/management-api/types#metric">Metric</a>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Metric connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## booster

<ParamField path=" ">
  Returns the Booster specified by the given ID.

  A Booster significantly improves the query performance for a Metric.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Booster</div></div>

  <Expandable title="Booster">
    Boosters allow you to optimize Metric Queries for a subset of commonly used Dimensions. A Metric can have one or many Boosters to optimize for the different Query patterns.

    Boosters can be understood as an aggregating index. The index is formed from left to right as follows:

    1. The Data Pool's Tenant ID column (if present)
    2. Metric Filter columns (if present)
    3. Query Filter Dimensions (see `dimensions`)
    4. The Data Pool's timestamp column

    <ParamField path="id" type="ID" required>
      The Booster's unique identifier.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Booster's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Booster's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Booster's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Booster's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Booster's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Booster's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="metric" type="Metric" required>
      The Metric this Booster is associated to.
      See <a href="/docs/management-api/types#metric">Metric</a>
    </ParamField>

    <ParamField path="status" type="BoosterStatus" required>
      The status of the Booster (once LIVE it will be available for speeding up Metric queries).

      <Expandable title="BoosterStatus">
        The Booster status.

        <ParamField path=" ">
          * `CREATED`:  The Booster has been created. Propel will start optimizing the Data Pool soon.
          * `OPTIMIZING`:  Propel is setting up the Booster and optimizing the Data Pool.
          * `LIVE`:  The Booster is now live and available to speed up Metric queries.
          * `FAILED`:  Propel failed to setup the Booster. Please write to support. Alternatively, you can delete the Booster and try again.
          * `DELETING`:  Propel is deleting the Booster and all of its associated data.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="error" type="Error">
      If the Booster fails during the optimization process, this field includes a descriptive
      error message.

      <Expandable title="Error">
        The error object.

        <ParamField path="code" type="Int">
          The error code.
        </ParamField>

        <ParamField path="message" type="String" required>
          The error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="progress" type="Float">
      When the Booster is OPTIMIZING, this represents its progress as a number from 0 to 1.
      In all other states, progress is null.
    </ParamField>

    <ParamField path="dimensions" type="[Dimension!]" required>
      Dimensions included in the Booster.

      <Expandable title="Dimension">
        The Dimension object that represents a column in a table.

        <ParamField path="columnName" type="String" required>
          The column name it represents.
        </ParamField>

        <ParamField path="type" type="String" required>
          The column data type.
        </ParamField>

        <ParamField path="isNullable" type="Boolean">
          Whether the column is nullable.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Whether the column is a unique key.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="stats" type="DimensionStatistics" deprecated>
            The statistics for the dimension values. Fetching statistics incurs query costs.

            <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

            See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="recordCount" type="String">
      The number of records in the Booster.
    </ParamField>

    <ParamField path="sizeInTerabytes" type="Float">
      The amount of storage in terabytes used by the Booster.
    </ParamField>
  </Expandable>
</ParamField>

## policy

<ParamField path=" ">
  Returns a Policy by ID.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Policy</div></div>

  <Expandable title="Policy">
    The Policy type. It governs an Application's access to a Metric's data.

    <ParamField path="id" type="ID" required>
      The Policy's unique identifier.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Policy's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Policy's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Policy's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Policy's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Policy's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Policy's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="type" type="PolicyType" required>
      The type of Policy.

      <Expandable title="PolicyType">
        The types of Policies that can be applied to a Metric.

        <ParamField path=" ">
          * `ALL_ACCESS`: Grants access to all Metric data.
          * `TENANT_ACCESS`: Grants access to a specified tenant's Metric data.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="application" type="Application" required>
      The Application that is granted access.
      See <a href="/docs/management-api/types#application">Application</a>
    </ParamField>

    <ParamField path="metric" type="Metric" required>
      The Metric that the Application is granted access to.
      See <a href="/docs/management-api/types#metric">Metric</a>
    </ParamField>
  </Expandable>
</ParamField>

## sync

<ParamField path=" ">
  Returns a Sync by ID.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Sync</div></div>

  <Expandable title="Sync">
    The Sync object.

    This represents the process of syncing data from your Data Source (for example, a Snowflake data warehouse) to your Data Pool.

    <ParamField path="id" type="ID" required>
      The Sync's unique identifier.
    </ParamField>

    <ParamField path="account" type="Account">
      The Sync's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment">
      The Sync's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Sync's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Sync's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Sync's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Sync's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataPool" type="DataPool">
      The Sync's Data Pool.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="dataSource" type="DataSource">
      The Sync's Data Pool's Data Source.

      <Expandable title="DataSource">
        The Data Source object.

        A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source.

        <ParamField path="id" type="ID" required>
          The Data Source's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Source's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Source's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Source's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Source's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Source's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Source's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="type" type="DataSourceType" required>
          The Data Source's type.

          See <a href="/docs/management-api/enums#datasourcetype">DataSourceType</a>
        </ParamField>

        <ParamField path="status" type="DataSourceStatus" required>
          The Data Source's status.

          See <a href="/docs/management-api/enums#datasourcestatus">DataSourceStatus</a>
        </ParamField>

        <ParamField path="connectionSettings" type="ConnectionSettings" required>
          The Data Source's connection settings.

          See <a href="/docs/management-api/unions#connectionsettings">ConnectionSettings</a>
        </ParamField>

        <ParamField path="tables" type="TableConnection">
          The tables contained within the Data Source, according to the most recent table introspection.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableconnection">TableConnection</a>
        </ParamField>

        <ParamField path="tableIntrospections" type="TableIntrospectionConnection">
          A list of table introspections performed for the Data Source. You can see how tables and columns changed over time by paging through this list.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableintrospectionconnection">TableIntrospectionConnection</a>
        </ParamField>

        <ParamField path="checks" type="[DataSourceCheck!]">
          A list of checks performed on the Data Source during its most recent connection attempt.

          See <a href="/docs/management-api/types#datasourcecheck">DataSourceCheck</a>
        </ParamField>

        <ParamField path="dataPools" type="DataPoolConnection">
          If you list Data Pools via the `dataPools` field on a Data Source, you will get Data Pools for the Data Source.

          The `dataPools` field uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

          For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

          For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolconnection">DataPoolConnection</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `checks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="processedRecords" type="String">
      The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.
    </ParamField>

    <ParamField path="size" type="String">
      The (compressed) size of the Sync, in bytes, if known.
    </ParamField>

    <ParamField path="status" type="SyncStatus" required>
      The status of the Sync (all Syncs begin as SYNCING before transitioning to SUCCEEDED or FAILED).

      <Expandable title="SyncStatus">
        The status of a Sync.

        <ParamField path=" ">
          * `SYNCING`:  Propel is actively syncing records contained within the Sync.
          * `SUCCEEDED`:  The Sync succeeded. Propel successfully synced all records contained within the Sync.
          * `FAILED`:  The Sync failed. Propel failed to sync some or all records contained within the Sync.
          * `DELETING`:  Propel is deleting the Sync.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="startedAt" type="DateTime">
      The time at which the Sync started.
    </ParamField>

    <ParamField path="succeededAt" type="DateTime">
      The time at which the Sync succeeded.
    </ParamField>

    <ParamField path="failedAt" type="DateTime">
      The time at which the Sync failed.
    </ParamField>

    <ParamField path="error" type="Error">
      If the Sync failed, this represents the reason the Sync failed.

      <Expandable title="Error">
        The error object.

        <ParamField path="code" type="Int">
          The error code.
        </ParamField>

        <ParamField path="message" type="String" required>
          The error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="newRecords" type="String" deprecated>
        The number of new records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="updatedRecords" type="String" deprecated>
        The number of updated records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="deletedRecords" type="String" deprecated>
        The number of deleted records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="invalidRecords" type="String" deprecated>
        The number of filtered records contained within the Sync, due to issues such as a missing timestamp Dimension, if any are known to be invalid.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## table

<ParamField path=" ">
  Returns a table by ID.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Table</div></div>

  <Expandable title="Table">
    The table object.

    Once a table introspection succeeds, it creates a new table object for every table it introspected.

    <ParamField path="id" type="ID" required>
      The table's ID.
    </ParamField>

    <ParamField path="name" type="String" required>
      The table's name.
    </ParamField>

    <ParamField path="dataSource" type="DataSource">
      The Data Source to which the table belongs.
      See <a href="/docs/management-api/types#datasource">DataSource</a>
    </ParamField>

    <ParamField path="rows" type="Int">
      The number of rows contained within the table at the time of introspection. Check the table's `cachedAt` time, since this info can become out of date.
    </ParamField>

    <ParamField path="size" type="Int">
      The size of the table (in bytes) at the time of introspection. Check the table's `cachedAt` time, since this info can become out of date.
    </ParamField>

    <ParamField path="cachedAt" type="DateTime" required>
      The time at which the table was cached (i.e., the time at which it was introspected).
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The time at which the table was created. This is the same as its `cachedAt` time.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The table's creator. This corresponds to the initiator of the table Introspection. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="columns" type="ColumnConnection">
      The table's columns.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      <Expandable title="ColumnConnection">
        The column connection object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="cachedAt" type="DateTime" required>
          The time at which the columns were cached (i.e., the time at which they were introspected).
        </ParamField>

        <ParamField path="edges" type="[ColumnEdge!]" required>
          The column connection's edges.

          See <a href="/docs/management-api/types#columnedge">ColumnEdge</a>
        </ParamField>

        <ParamField path="nodes" type="[Column!]" required>
          The column connection's nodes.

          See <a href="/docs/management-api/types#column">Column</a>
        </ParamField>

        <ParamField path="pageInfo" type="PageInfo" required>
          The column connection's page info.

          See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="availableTimestamps" type="ColumnConnection">
      The table's columns which can be used as a timestamp for a Data Pool.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      <Expandable title="ColumnConnection">
        The column connection object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="cachedAt" type="DateTime" required>
          The time at which the columns were cached (i.e., the time at which they were introspected).
        </ParamField>

        <ParamField path="edges" type="[ColumnEdge!]" required>
          The column connection's edges.

          See <a href="/docs/management-api/types#columnedge">ColumnEdge</a>
        </ParamField>

        <ParamField path="nodes" type="[Column!]" required>
          The column connection's nodes.

          See <a href="/docs/management-api/types#column">Column</a>
        </ParamField>

        <ParamField path="pageInfo" type="PageInfo" required>
          The column connection's page info.

          See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="availableMeasures" type="ColumnConnection">
      The table's columns which can be used as a measure for a Metric.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      <Expandable title="ColumnConnection">
        The column connection object.

        Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

        <ParamField path="cachedAt" type="DateTime" required>
          The time at which the columns were cached (i.e., the time at which they were introspected).
        </ParamField>

        <ParamField path="edges" type="[ColumnEdge!]" required>
          The column connection's edges.

          See <a href="/docs/management-api/types#columnedge">ColumnEdge</a>
        </ParamField>

        <ParamField path="nodes" type="[Column!]" required>
          The column connection's nodes.

          See <a href="/docs/management-api/types#column">Column</a>
        </ParamField>

        <ParamField path="pageInfo" type="PageInfo" required>
          The column connection's page info.

          See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="kind" type="String" required deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="comment" type="String" required deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="clusterBy" type="String" deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="owner" type="String" required deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="timeTravelRetentionInDays" type="Int" deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isAutomaticClusteringEnabled" type="Boolean" deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isChangeTrackingEnabled" type="Boolean" deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isSearchOptimizationEnabled" type="Boolean" deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isExternal" type="Boolean" required deprecated>
        Information about the table obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## metricReport

<ParamField path=" ">
  Build a report, or table, consisting of multiple Metrics broken down by one-or-more dimensions.

  The first few columns of the report are the dimensions you choose to break down by. The subsequent columns are the
  Metrics you choose to query. By default, the report sorts on the first Metric in descending order, but you can
  configure this with the `orderByMetric` and `sort` inputs.

  Finally, reports use cursor-based pagination. You can control page size with the `first` and
  `last` inputs.

  ### Arguments

  <ParamField notPatch path="input" type="MetricReportInput" required>
    <Expandable title="MetricReportInput">
      The fields for querying a Metric Report.

      A Metric Report is a table whose columns include dimensions and Metric values, calculated over a given time range.

      <ParamField path="timeRange" type="TimeRangeInput">
        The time range for calculating the Metric Report.

        <Expandable title="TimeRangeInput">
          The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

          If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.

          If both relative and absolute time ranges are provided, the relative time range will take precedence.

          If a `LAST_N` relative time period is selected, an `n` ≥ 1 must be provided. If no `n` is provided or `n` \< 1, a `BAD_REQUEST` error will be returned.

          <ParamField path="timestamp" type="String">
            The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any.
            Set this to filter on an alternative timestamp field.
          </ParamField>

          <ParamField path="relative" type="RelativeTimeRange">
            The relative time period.

            See <a href="/docs/management-api/enums#relativetimerange">RelativeTimeRange</a>
          </ParamField>

          <ParamField path="n" type="Int">
            The number of time units for the `LAST_N` relative periods.
          </ParamField>

          <ParamField path="start" type="DateTime">
            The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
          </ParamField>

          <ParamField path="stop" type="DateTime">
            The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeZone" type="String">
        The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

        You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
      </ParamField>

      <ParamField path="dimensions" type="[MetricReportDimensionInput!]" required>
        One or many dimensions to group the Metric values by. Typically, dimensions in a report are what you want to compare and rank.

        <Expandable title="MetricReportDimensionInput">
          The fields for specifying a dimension to include in a Metric Report.

          <ParamField path="columnName" type="String" required>
            The column name of the dimension to include in a Metric Report. This must match the name of a Data Pool column.
          </ParamField>

          <ParamField path="displayName" type="String">
            The name to display in the `headers` array when displaying the report. This defaults to the column name if unspecified.
          </ParamField>

          <ParamField path="sort" type="Sort">
            The sort order for the dimension. It can be ascending (`ASC`) or descending (`DESC`) order. Defaults to ascending (`ASC`) order when not provided.

            See <a href="/docs/management-api/enums#sort">Sort</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="metrics" type="[MetricReportMetricInput!]" required>
        One or more Metrics to include in the Metric Report. These will be broken down by `dimensions`.

        <Expandable title="MetricReportMetricInput">
          The fields for specifying a Metric to include in a Metric Report.

          <ParamField path="metric" type="MetricInput">
            The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

            See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
          </ParamField>

          <ParamField path="displayName" type="String">
            The name to display in the `headers` array when displaying the report. This defaults to the Metric's unique name if unspecified.
          </ParamField>

          <ParamField path="filterSql" type="String">
            The Query Filters to apply when calculating the Metric, in the form of SQL.
          </ParamField>

          <ParamField path="sort" type="Sort">
            The sort order for the Metric. It can be ascending (`ASC`) or descending (`DESC`) order. Defaults to descending (`DESC`) order when not provided.

            See <a href="/docs/management-api/enums#sort">Sort</a>
          </ParamField>

          <Expandable title="Deprecated Fields">
            <ParamField path="uniqueName" type="String" deprecated>
              The Metric's unique name. If not specified, Propel will lookup the Metric by ID.

              <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
            </ParamField>

            <ParamField path="id" type="ID" deprecated>
              The Metric's ID. If not specified, Propel will lookup the Metric by unique name.

              <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
            </ParamField>

            <ParamField path="filters" type="[FilterInput!]" deprecated>
              The Query Filters to apply when calculating the Metric.

              <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

              See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
            </ParamField>
          </Expandable>
        </Expandable>
      </ParamField>

      <ParamField path="filterSql" type="String">
        The Query Filters to apply when building the Metric Report, in the form of SQL. These can be used to filter out rows.
      </ParamField>

      <ParamField path="orderByColumn" type="Int">
        The index of the column to order the Metric Report by. The index is 1-based and defaults to the first Metric column. In other words, by default, reports are ordered by the first Metric; however, you can order by the second Metric, third Metric, etc., by overriding the `orderByColumn` input. You can also order by dimensions this way.
      </ParamField>

      <ParamField path="first" type="Int">
        The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
      </ParamField>

      <ParamField path="after" type="String">
        The cursor to use when paging forward.
      </ParamField>

      <ParamField path="last" type="Int">
        The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
      </ParamField>

      <ParamField path="before" type="String">
        The cursor to use when paging backward.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Query Filters to apply when building the Metric Report. These can be used to filter out rows.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

          <Expandable title="FilterInput">
            The fields of a filter.

            You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

            ```
            (value > 0 AND value <= 100) OR status = "confirmed"
            ```

            you could write

            ```
            {
              "column": "value",
              "operator": "GREATER_THAN",
              "value": "0",
              "and": [{
                "column": "value",
                "operator": "LESS_THAN_OR_EQUAL_TO",
                "value": "0"
              }],
              "or": [{
                "column": "status",
                "operator": "EQUALS",
                "value": "confirmed"
              }]
            }
            ```

            Note that `and` takes precedence over `or`.

            <ParamField path="column" type="String" required>
              The name of the column to filter on.
            </ParamField>

            <ParamField path="operator" type="FilterOperator" required>
              The operation to perform when comparing the column and filter values.

              See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
            </ParamField>

            <ParamField path="value" type="String">
              The value to compare the column to.
            </ParamField>

            <ParamField path="and" type="[FilterInput!]">
              Additional filters to AND with this one. AND takes precedence over OR.
            </ParamField>

            <ParamField path="or" type="[FilterInput!]">
              Additional filters to OR with this one. AND takes precedence over OR.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricReportConnection</div></div>

  <Expandable title="MetricReportConnection">
    The Metric Report connection object.

    It includes `headers` and `rows` for a single page of a report. It also allows paging forward and backward to other
    pages of the report.

    <ParamField path="pageInfo" type="PageInfo" required>
      The report connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="edges" type="[MetricReportEdge!]" required>
      The report connection's edges.

      <Expandable title="MetricReportEdge">
        The Metric Report edge object.

        <ParamField path="node" type="MetricReportNode" required>
          The edge's node.

          See <a href="/docs/management-api/types#metricreportnode">MetricReportNode</a>
        </ParamField>

        <ParamField path="cursor" type="String" required>
          The edge's cursor.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="nodes" type="[MetricReportNode!]" required>
      The report connection's nodes.

      <Expandable title="MetricReportNode">
        The Metric Report node object.

        This type represents a single row of a report.

        <ParamField path="headers" type="[String]" required>
          An ordered array of display names for your dimensions and Metrics, as defined in the report input. Use this to display your table's header.
        </ParamField>

        <ParamField path="row" type="[String]" required>
          An ordered array of columns. Each column contains the dimension and Metric values for a single row, as defined in the report input. Use this to display a single row within your table.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="headers" type="[String]" required>
      An ordered array of display names for your dimensions and Metrics, as defined in the report input. Use this to display your table's header.
    </ParamField>

    <ParamField path="rows" type="[[String]!]" required>
      An ordered array of rows. Each row contains dimension and Metric values, as defined in the report input. Use these to display the rows of your table.
    </ParamField>

    <ParamField path="query" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## sqlV1

<ParamField path=" ">
  Query Data Pools using SQL.

  ### Arguments

  <ParamField notPatch path="input" type="SqlV1Input" required>
    <Expandable title="SqlV1Input">
      Input to the SqlV1 api.

      <ParamField path="query" type="String" required>
        The SQL query.
      </ParamField>

      <ParamField path="dialect" type="SqlDialectV1">
        The SQL dialect to use. If not provided, the query is parsed on a best-effort basis.

        <Expandable title="SqlDialectV1">
          The SQL dialect to use when parsing queries.

          <ParamField path=" ">
            * `POSTGRESQL`: Parse as PostgreSQL-compatible SQL.
            * `CLICKHOUSE`: Parse as ClickHouse-compatible SQL.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">SqlResponse</div></div>

  <Expandable title="SqlResponse">
    Response from the SQL API.

    <ParamField path="columns" type="[SqlColumnResponse!]" required>
      The column names in the same order as present in the `data` field.

      <Expandable title="SqlColumnResponse">
        <ParamField path="columnName" type="String" required>
          The name of the returned column.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The returned column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="rows" type="[[String]!]" required>
      The data gathered by the SQL query. The data is returned in an N x M matrix format, where the
      first dimension are the rows retrieved, and the second dimension are the columns. Each cell
      can be either a string or null, and the string can represent a number, text, date or boolean value.
    </ParamField>

    <ParamField path="info" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## describeSqlV1

<ParamField path=" ">
  Describe SQL statements Data Pools.

  ### Arguments

  <ParamField notPatch path="input" type="DescribeSqlV1Input" required>
    <Expandable title="DescribeSqlV1Input">
      Input for describing SqlV1 inputs.

      <ParamField path="query" type="String" required>
        The SQL query.
      </ParamField>

      <ParamField path="dialect" type="SqlDialectV1">
        The SQL dialect to use. If not provided, the query is parsed on a best-effort basis.

        <Expandable title="SqlDialectV1">
          The SQL dialect to use when parsing queries.

          <ParamField path=" ">
            * `POSTGRESQL`: Parse as PostgreSQL-compatible SQL.
            * `CLICKHOUSE`: Parse as ClickHouse-compatible SQL.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DescribeSqlResponse</div></div>

  <Expandable title="DescribeSqlResponse">
    Response from the describe SQL API.

    <ParamField path="columns" type="[SqlColumnResponse!]" required>
      The columns that the query would return.

      <Expandable title="SqlColumnResponse">
        <ParamField path="columnName" type="String" required>
          The name of the returned column.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The returned column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## dataGrid

<ParamField path=" ">
  Returns the individual records of a Data Pool with the convenience of built-in pagination, filtering, and sorting.

  ### Arguments

  <ParamField notPatch path="input" type="DataGridInput" required>
    <Expandable title="DataGridInput">
      The fields for querying Data Grid records.

      <ParamField path="dataPool" type="DataPoolInput" required>
        The Data Pool to be queried.

        <Expandable title="DataPoolInput">
          <ParamField path="id" type="ID">
            The ID of the Data Pool.
          </ParamField>

          <ParamField path="name" type="String">
            The name of the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeRange" type="TimeRangeInput">
        The time range for retrieving the records.

        <Expandable title="TimeRangeInput">
          The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

          If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.

          If both relative and absolute time ranges are provided, the relative time range will take precedence.

          If a `LAST_N` relative time period is selected, an `n` ≥ 1 must be provided. If no `n` is provided or `n` \< 1, a `BAD_REQUEST` error will be returned.

          <ParamField path="timestamp" type="String">
            The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any.
            Set this to filter on an alternative timestamp field.
          </ParamField>

          <ParamField path="relative" type="RelativeTimeRange">
            The relative time period.

            See <a href="/docs/management-api/enums#relativetimerange">RelativeTimeRange</a>
          </ParamField>

          <ParamField path="n" type="Int">
            The number of time units for the `LAST_N` relative periods.
          </ParamField>

          <ParamField path="start" type="DateTime">
            The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
          </ParamField>

          <ParamField path="stop" type="DateTime">
            The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeZone" type="String">
        The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

        You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
      </ParamField>

      <ParamField path="columns" type="[String!]" required>
        The columns to retrieve.
      </ParamField>

      <ParamField path="orderByColumn" type="Int">
        The index of the column to order the table by. The index is 1-based. If not provided, records will be ordered by their timestamp by default.
      </ParamField>

      <ParamField path="sort" type="Sort">
        The sort order of the rows. It can be ascending (`ASC`) or descending (`DESC`) order. Defaults to descending (`DESC`) order when not provided.

        <Expandable title="Sort">
          The available sort orders.

          <ParamField path=" ">
            * `ASC`: Sort in ascending order.
            * `DESC`: Sort in descending order.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="filterSql" type="String">
        The filters to apply to the records, in the form of SQL. You may only filter on columns included in the `columns` array input.
      </ParamField>

      <ParamField path="first" type="Int">
        The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
      </ParamField>

      <ParamField path="after" type="String">
        The cursor to use when paging forward.
      </ParamField>

      <ParamField path="last" type="Int">
        The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
      </ParamField>

      <ParamField path="before" type="String">
        The cursor to use when paging backward.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The filters to apply to the records. You may only filter on columns included in the `columns` array input.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

          <Expandable title="FilterInput">
            The fields of a filter.

            You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

            ```
            (value > 0 AND value <= 100) OR status = "confirmed"
            ```

            you could write

            ```
            {
              "column": "value",
              "operator": "GREATER_THAN",
              "value": "0",
              "and": [{
                "column": "value",
                "operator": "LESS_THAN_OR_EQUAL_TO",
                "value": "0"
              }],
              "or": [{
                "column": "status",
                "operator": "EQUALS",
                "value": "confirmed"
              }]
            }
            ```

            Note that `and` takes precedence over `or`.

            <ParamField path="column" type="String" required>
              The name of the column to filter on.
            </ParamField>

            <ParamField path="operator" type="FilterOperator" required>
              The operation to perform when comparing the column and filter values.

              See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
            </ParamField>

            <ParamField path="value" type="String">
              The value to compare the column to.
            </ParamField>

            <ParamField path="and" type="[FilterInput!]">
              Additional filters to AND with this one. AND takes precedence over OR.
            </ParamField>

            <ParamField path="or" type="[FilterInput!]">
              Additional filters to OR with this one. AND takes precedence over OR.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataGridConnection</div></div>

  <Expandable title="DataGridConnection">
    The Data Grid connection.

    It includes `headers` and `rows` for a single page of a Data Grid table. It also allows paging forward and backward to other
    pages of the Data Grid table.

    <ParamField path="headers" type="[String!]" required>
      The Data Grid table's headers.
    </ParamField>

    <ParamField path="rows" type="[[String]!]" required>
      An array of arrays containing the values of the Data Grid table's rows.
    </ParamField>

    <ParamField path="query" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Data Grid table's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="edges" type="[DataGridEdge!]" required>
      The Data Grid table's edges.

      <Expandable title="DataGridEdge">
        The Data Grid edge object.

        <ParamField path="node" type="DataGridNode" required>
          The edge's node.

          See <a href="/docs/management-api/types#datagridnode">DataGridNode</a>
        </ParamField>

        <ParamField path="cursor" type="String" required>
          The edge's cursor.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="nodes" type="[DataGridNode!]" required>
      The Data Grid table's nodes.

      <Expandable title="DataGridNode">
        The Data Grid table's node.

        This type represents a single row of a Data Grid table.

        <ParamField path="headers" type="[String!]" required>
          The Data Grid table's headers.
        </ParamField>

        <ParamField path="row" type="[String]" required>
          An array of the values for the row.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## recordsByUniqueId

<ParamField path=" ">
  Returns records by the given unique IDs.

  ### Arguments

  <ParamField notPatch path="input" type="RecordsByUniqueIdInput" required>
    <Expandable title="RecordsByUniqueIdInput">
      The fields for querying records by unique ID.

      <ParamField path="dataPool" type="DataPoolInput" required>
        The Data Pool to be queried. A Data Pool ID or unique name can be provided.

        <Expandable title="DataPoolInput">
          <ParamField path="id" type="ID">
            The ID of the Data Pool.
          </ParamField>

          <ParamField path="name" type="String">
            The name of the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="columns" type="[String!]" required>
        The columns to retrieve.
      </ParamField>

      <ParamField path="uniqueIds" type="[String!]" required>
        The unique IDs of the records to retrieve.
      </ParamField>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">RecordsByUniqueIdResponse</div></div>

  <Expandable title="RecordsByUniqueIdResponse">
    <ParamField path="columns" type="[String!]" required>
      The Data Pool columns for the record.
    </ParamField>

    <ParamField path="values" type="[[String]!]" required>
      An array of values for the record.
    </ParamField>

    <ParamField path="query" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## topValues

<ParamField path=" ">
  Returns an array of the most frequent values in a given column. The resulting array is sorted in descending order of approximate frequency of values.

  ### Arguments

  <ParamField notPatch path="input" type="TopValuesInput" required>
    <Expandable title="TopValuesInput">
      The fields for querying the top values in a given column.

      <ParamField path="dataPool" type="DataPoolInput" required>
        The Data Pool to be queried. A Data Pool ID or unique name can be provided.

        <Expandable title="DataPoolInput">
          <ParamField path="id" type="ID">
            The ID of the Data Pool.
          </ParamField>

          <ParamField path="name" type="String">
            The name of the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="columnName" type="String" required>
        The column to fetch the unique values from.
      </ParamField>

      <ParamField path="timeRange" type="TimeRangeInput">
        The time range for calculating the top values.

        <Expandable title="TimeRangeInput">
          The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

          If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.

          If both relative and absolute time ranges are provided, the relative time range will take precedence.

          If a `LAST_N` relative time period is selected, an `n` ≥ 1 must be provided. If no `n` is provided or `n` \< 1, a `BAD_REQUEST` error will be returned.

          <ParamField path="timestamp" type="String">
            The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any.
            Set this to filter on an alternative timestamp field.
          </ParamField>

          <ParamField path="relative" type="RelativeTimeRange">
            The relative time period.

            See <a href="/docs/management-api/enums#relativetimerange">RelativeTimeRange</a>
          </ParamField>

          <ParamField path="n" type="Int">
            The number of time units for the `LAST_N` relative periods.
          </ParamField>

          <ParamField path="start" type="DateTime">
            The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
          </ParamField>

          <ParamField path="stop" type="DateTime">
            The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeZone" type="String">
        The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

        You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
      </ParamField>

      <ParamField path="maxValues" type="Int">
        The maximum number of values to return. It can be a number between 1 and 1,000. If the parameter is omitted, default value 10 is used.
      </ParamField>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">TopValuesResponse</div></div>

  <Expandable title="TopValuesResponse">
    <ParamField path="values" type="[String!]" required>
      An array with the list of values.
    </ParamField>
  </Expandable>
</ParamField>

## counter

<ParamField path=" ">
  Query a metric in counter format. Returns a single metric value for the given time range and filters.

  ### Arguments

  <ParamField notPatch path="input" type="CounterInput" required>
    <Expandable title="CounterInput">
      The fields for querying a Metric in counter format.

      A Metric's counter query returns a single value over a given time range.

      <ParamField path="metric" type="MetricInput">
        The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

        <Expandable title="MetricInput">
          <ParamField path="id" type="ID">
            The ID of a pre-configured Metric.
          </ParamField>

          <ParamField path="name" type="String">
            The name of a pre-configured Metric.
          </ParamField>

          <ParamField path="custom" type="CustomMetricQueryInput">
            An ad hoc Custom Metric.

            See <a href="/docs/management-api/inputs#custommetricqueryinput">CustomMetricQueryInput</a>
          </ParamField>

          <ParamField path="count" type="CountMetricQueryInput">
            An ad hoc Count Metric.

            See <a href="/docs/management-api/inputs#countmetricqueryinput">CountMetricQueryInput</a>
          </ParamField>

          <ParamField path="sum" type="SumMetricQueryInput">
            An ad hoc Sum Metric.

            See <a href="/docs/management-api/inputs#summetricqueryinput">SumMetricQueryInput</a>
          </ParamField>

          <ParamField path="average" type="AverageMetricQueryInput">
            An ad hoc Average Metric.

            See <a href="/docs/management-api/inputs#averagemetricqueryinput">AverageMetricQueryInput</a>
          </ParamField>

          <ParamField path="min" type="MinMetricQueryInput">
            An ad hoc Min Metric.

            See <a href="/docs/management-api/inputs#minmetricqueryinput">MinMetricQueryInput</a>
          </ParamField>

          <ParamField path="max" type="MaxMetricQueryInput">
            An ad hoc Max Metric.

            See <a href="/docs/management-api/inputs#maxmetricqueryinput">MaxMetricQueryInput</a>
          </ParamField>

          <ParamField path="countDistinct" type="CountDistinctMetricQueryInput">
            An ad hoc Count Distinct Metric.

            See <a href="/docs/management-api/inputs#countdistinctmetricqueryinput">CountDistinctMetricQueryInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeRange" type="TimeRangeInput">
        The time range for calculating the counter.

        <Expandable title="TimeRangeInput">
          The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

          If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.

          If both relative and absolute time ranges are provided, the relative time range will take precedence.

          If a `LAST_N` relative time period is selected, an `n` ≥ 1 must be provided. If no `n` is provided or `n` \< 1, a `BAD_REQUEST` error will be returned.

          <ParamField path="timestamp" type="String">
            The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any.
            Set this to filter on an alternative timestamp field.
          </ParamField>

          <ParamField path="relative" type="RelativeTimeRange">
            The relative time period.

            See <a href="/docs/management-api/enums#relativetimerange">RelativeTimeRange</a>
          </ParamField>

          <ParamField path="n" type="Int">
            The number of time units for the `LAST_N` relative periods.
          </ParamField>

          <ParamField path="start" type="DateTime">
            The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
          </ParamField>

          <ParamField path="stop" type="DateTime">
            The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeZone" type="String">
        The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

        You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
      </ParamField>

      <ParamField path="filterSql" type="String">
        The Query Filters to apply before retrieving the counter data, in the form of SQL. If no Query Filters are provided, all data is included.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="metricId" type="ID" deprecated>
          The ID of the Metric to query.

          Required if `metricName` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="metricName" type="String" deprecated>
          The name of the Metric to query.

          Required if `metricId` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Query Filters to apply before retrieving the counter data. If no Query Filters are provided, all data is included.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

          <Expandable title="FilterInput">
            The fields of a filter.

            You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

            ```
            (value > 0 AND value <= 100) OR status = "confirmed"
            ```

            you could write

            ```
            {
              "column": "value",
              "operator": "GREATER_THAN",
              "value": "0",
              "and": [{
                "column": "value",
                "operator": "LESS_THAN_OR_EQUAL_TO",
                "value": "0"
              }],
              "or": [{
                "column": "status",
                "operator": "EQUALS",
                "value": "confirmed"
              }]
            }
            ```

            Note that `and` takes precedence over `or`.

            <ParamField path="column" type="String" required>
              The name of the column to filter on.
            </ParamField>

            <ParamField path="operator" type="FilterOperator" required>
              The operation to perform when comparing the column and filter values.

              See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
            </ParamField>

            <ParamField path="value" type="String">
              The value to compare the column to.
            </ParamField>

            <ParamField path="and" type="[FilterInput!]">
              Additional filters to AND with this one. AND takes precedence over OR.
            </ParamField>

            <ParamField path="or" type="[FilterInput!]">
              Additional filters to OR with this one. AND takes precedence over OR.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">CounterResponse</div></div>

  <Expandable title="CounterResponse">
    The counter response object. It contains a single Metric value for the given time range and Query Filters.

    <ParamField path="value" type="String">
      The value of the counter.
    </ParamField>

    <ParamField path="query" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## counters

<ParamField path=" ">
  Query metrics in counter format. Returns a metric value for each input in the array of inputs.

  ### Arguments

  <ParamField notPatch path="input" type="[CounterInput!]" required>
    <Expandable title="[CounterInput!]">
      The fields for querying a Metric in counter format.

      A Metric's counter query returns a single value over a given time range.

      <ParamField path="metric" type="MetricInput">
        The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

        <Expandable title="MetricInput">
          <ParamField path="id" type="ID">
            The ID of a pre-configured Metric.
          </ParamField>

          <ParamField path="name" type="String">
            The name of a pre-configured Metric.
          </ParamField>

          <ParamField path="custom" type="CustomMetricQueryInput">
            An ad hoc Custom Metric.

            See <a href="/docs/management-api/inputs#custommetricqueryinput">CustomMetricQueryInput</a>
          </ParamField>

          <ParamField path="count" type="CountMetricQueryInput">
            An ad hoc Count Metric.

            See <a href="/docs/management-api/inputs#countmetricqueryinput">CountMetricQueryInput</a>
          </ParamField>

          <ParamField path="sum" type="SumMetricQueryInput">
            An ad hoc Sum Metric.

            See <a href="/docs/management-api/inputs#summetricqueryinput">SumMetricQueryInput</a>
          </ParamField>

          <ParamField path="average" type="AverageMetricQueryInput">
            An ad hoc Average Metric.

            See <a href="/docs/management-api/inputs#averagemetricqueryinput">AverageMetricQueryInput</a>
          </ParamField>

          <ParamField path="min" type="MinMetricQueryInput">
            An ad hoc Min Metric.

            See <a href="/docs/management-api/inputs#minmetricqueryinput">MinMetricQueryInput</a>
          </ParamField>

          <ParamField path="max" type="MaxMetricQueryInput">
            An ad hoc Max Metric.

            See <a href="/docs/management-api/inputs#maxmetricqueryinput">MaxMetricQueryInput</a>
          </ParamField>

          <ParamField path="countDistinct" type="CountDistinctMetricQueryInput">
            An ad hoc Count Distinct Metric.

            See <a href="/docs/management-api/inputs#countdistinctmetricqueryinput">CountDistinctMetricQueryInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeRange" type="TimeRangeInput">
        The time range for calculating the counter.

        <Expandable title="TimeRangeInput">
          The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

          If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.

          If both relative and absolute time ranges are provided, the relative time range will take precedence.

          If a `LAST_N` relative time period is selected, an `n` ≥ 1 must be provided. If no `n` is provided or `n` \< 1, a `BAD_REQUEST` error will be returned.

          <ParamField path="timestamp" type="String">
            The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any.
            Set this to filter on an alternative timestamp field.
          </ParamField>

          <ParamField path="relative" type="RelativeTimeRange">
            The relative time period.

            See <a href="/docs/management-api/enums#relativetimerange">RelativeTimeRange</a>
          </ParamField>

          <ParamField path="n" type="Int">
            The number of time units for the `LAST_N` relative periods.
          </ParamField>

          <ParamField path="start" type="DateTime">
            The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
          </ParamField>

          <ParamField path="stop" type="DateTime">
            The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeZone" type="String">
        The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

        You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
      </ParamField>

      <ParamField path="filterSql" type="String">
        The Query Filters to apply before retrieving the counter data, in the form of SQL. If no Query Filters are provided, all data is included.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="metricId" type="ID" deprecated>
          The ID of the Metric to query.

          Required if `metricName` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="metricName" type="String" deprecated>
          The name of the Metric to query.

          Required if `metricId` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Query Filters to apply before retrieving the counter data. If no Query Filters are provided, all data is included.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

          <Expandable title="FilterInput">
            The fields of a filter.

            You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

            ```
            (value > 0 AND value <= 100) OR status = "confirmed"
            ```

            you could write

            ```
            {
              "column": "value",
              "operator": "GREATER_THAN",
              "value": "0",
              "and": [{
                "column": "value",
                "operator": "LESS_THAN_OR_EQUAL_TO",
                "value": "0"
              }],
              "or": [{
                "column": "status",
                "operator": "EQUALS",
                "value": "confirmed"
              }]
            }
            ```

            Note that `and` takes precedence over `or`.

            <ParamField path="column" type="String" required>
              The name of the column to filter on.
            </ParamField>

            <ParamField path="operator" type="FilterOperator" required>
              The operation to perform when comparing the column and filter values.

              See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
            </ParamField>

            <ParamField path="value" type="String">
              The value to compare the column to.
            </ParamField>

            <ParamField path="and" type="[FilterInput!]">
              Additional filters to AND with this one. AND takes precedence over OR.
            </ParamField>

            <ParamField path="or" type="[FilterInput!]">
              Additional filters to OR with this one. AND takes precedence over OR.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">CounterResponse</div></div>

  <Expandable title="CounterResponse">
    The counter response object. It contains a single Metric value for the given time range and Query Filters.

    <ParamField path="value" type="String">
      The value of the counter.
    </ParamField>

    <ParamField path="query" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## timeSeries

<ParamField path=" ">
  Query a metric in time series format. Returns arrays of timestamps and metric values for the given time range and filters.

  ### Arguments

  <ParamField notPatch path="input" type="TimeSeriesInput" required>
    <Expandable title="TimeSeriesInput">
      The fields for querying a Metric in time series format.

      A Metric's time series query returns the values over a given time range aggregated by a given time granularity; day, month, or year, for example.

      <ParamField path="metric" type="MetricInput">
        The Metric to Query. It can be a pre-created one or it can be inlined here.

        <Expandable title="MetricInput">
          <ParamField path="id" type="ID">
            The ID of a pre-configured Metric.
          </ParamField>

          <ParamField path="name" type="String">
            The name of a pre-configured Metric.
          </ParamField>

          <ParamField path="custom" type="CustomMetricQueryInput">
            An ad hoc Custom Metric.

            See <a href="/docs/management-api/inputs#custommetricqueryinput">CustomMetricQueryInput</a>
          </ParamField>

          <ParamField path="count" type="CountMetricQueryInput">
            An ad hoc Count Metric.

            See <a href="/docs/management-api/inputs#countmetricqueryinput">CountMetricQueryInput</a>
          </ParamField>

          <ParamField path="sum" type="SumMetricQueryInput">
            An ad hoc Sum Metric.

            See <a href="/docs/management-api/inputs#summetricqueryinput">SumMetricQueryInput</a>
          </ParamField>

          <ParamField path="average" type="AverageMetricQueryInput">
            An ad hoc Average Metric.

            See <a href="/docs/management-api/inputs#averagemetricqueryinput">AverageMetricQueryInput</a>
          </ParamField>

          <ParamField path="min" type="MinMetricQueryInput">
            An ad hoc Min Metric.

            See <a href="/docs/management-api/inputs#minmetricqueryinput">MinMetricQueryInput</a>
          </ParamField>

          <ParamField path="max" type="MaxMetricQueryInput">
            An ad hoc Max Metric.

            See <a href="/docs/management-api/inputs#maxmetricqueryinput">MaxMetricQueryInput</a>
          </ParamField>

          <ParamField path="countDistinct" type="CountDistinctMetricQueryInput">
            An ad hoc Count Distinct Metric.

            See <a href="/docs/management-api/inputs#countdistinctmetricqueryinput">CountDistinctMetricQueryInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeRange" type="TimeRangeInput">
        The time range for calculating the time series.

        <Expandable title="TimeRangeInput">
          The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

          If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.

          If both relative and absolute time ranges are provided, the relative time range will take precedence.

          If a `LAST_N` relative time period is selected, an `n` ≥ 1 must be provided. If no `n` is provided or `n` \< 1, a `BAD_REQUEST` error will be returned.

          <ParamField path="timestamp" type="String">
            The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any.
            Set this to filter on an alternative timestamp field.
          </ParamField>

          <ParamField path="relative" type="RelativeTimeRange">
            The relative time period.

            See <a href="/docs/management-api/enums#relativetimerange">RelativeTimeRange</a>
          </ParamField>

          <ParamField path="n" type="Int">
            The number of time units for the `LAST_N` relative periods.
          </ParamField>

          <ParamField path="start" type="DateTime">
            The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
          </ParamField>

          <ParamField path="stop" type="DateTime">
            The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeZone" type="String">
        The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

        You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
      </ParamField>

      <ParamField path="granularity" type="TimeSeriesGranularity" required>
        The time granularity (hour, day, month, etc.) to aggregate the Metric values by.

        <Expandable title="TimeSeriesGranularity">
          The available time series granularities. Granularities define the unit of time to aggregate the Metric data for a time series query.

          For example, if the granularity is set to `DAY`, then the the time series query will return a label and a value for each day.

          If there are no records for a given time series granularity, Propel will return the label and a value of "0" so that the time series can be properly visualized.

          <ParamField path=" ">
            * `MINUTE`: Aggregates values by minute intervals.
            * `FIVE_MINUTES`: Aggregates values by 5-minute intervals.
            * `TEN_MINUTES`: Aggregates values by 10-minute intervals.
            * `FIFTEEN_MINUTES`: Aggregates values by 15-minute intervals.
            * `HOUR`: Aggregates values by hourly intervals.
            * `DAY`: Aggregates values by daily intervals.
            * `WEEK`: Aggregates values by weekly intervals.
            * `MONTH`: Aggregates values by monthly intervals.
            * `YEAR`: Aggregates values by yearly intervals.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="filterSql" type="String">
        The Query Filters to apply before retrieving the time series data, in the form of SQL. If no Query Filters are provided, all data is included.
      </ParamField>

      <ParamField path="groupBy" type="[String!]">
        Columns to group by.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="metricId" type="ID" deprecated>
          The ID of the Metric to query.

          Required if `metricName` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="metricName" type="String" deprecated>
          The name of the Metric to query.

          Required if `metricId` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Query Filters to apply before retrieving the time series data. If no Query Filters are provided, all data is included.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

          <Expandable title="FilterInput">
            The fields of a filter.

            You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

            ```
            (value > 0 AND value <= 100) OR status = "confirmed"
            ```

            you could write

            ```
            {
              "column": "value",
              "operator": "GREATER_THAN",
              "value": "0",
              "and": [{
                "column": "value",
                "operator": "LESS_THAN_OR_EQUAL_TO",
                "value": "0"
              }],
              "or": [{
                "column": "status",
                "operator": "EQUALS",
                "value": "confirmed"
              }]
            }
            ```

            Note that `and` takes precedence over `or`.

            <ParamField path="column" type="String" required>
              The name of the column to filter on.
            </ParamField>

            <ParamField path="operator" type="FilterOperator" required>
              The operation to perform when comparing the column and filter values.

              See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
            </ParamField>

            <ParamField path="value" type="String">
              The value to compare the column to.
            </ParamField>

            <ParamField path="and" type="[FilterInput!]">
              Additional filters to AND with this one. AND takes precedence over OR.
            </ParamField>

            <ParamField path="or" type="[FilterInput!]">
              Additional filters to OR with this one. AND takes precedence over OR.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">TimeSeriesResponse</div></div>

  <Expandable title="TimeSeriesResponse">
    The time series response object. It contains an array of time series labels and an array of Metric values for the given time range and Query Filters.

    <ParamField path="labels" type="[String!]" required>
      The time series labels.
    </ParamField>

    <ParamField path="values" type="[String]" required>
      The time series values.
    </ParamField>

    <ParamField path="groups" type="[TimeSeriesResponseGroup!]">
      The time series values for each group in `groupBy`, if specified.

      <Expandable title="TimeSeriesResponseGroup">
        The time series response object for a group specified in `groupBy`. It contains an array of time series labels and an array of Metric values for a particular group.

        <ParamField path="group" type="[String]" required>
          The time series group's columns.
        </ParamField>

        <ParamField path="labels" type="[String!]" required>
          The time series group's labels.
        </ParamField>

        <ParamField path="values" type="[String]" required>
          The time series group's values.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="query" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## leaderboard

<ParamField path=" ">
  Query a metric in leaderboard format. Returns a table (array of rows) with the selected dimensions and the metric's corresponding values for the given time range and filters.

  ### Arguments

  <ParamField notPatch path="input" type="LeaderboardInput" required>
    <Expandable title="LeaderboardInput">
      The fields for querying a Metric in leaderboard format.

      A Metric's leaderboard query returns an ordered table of Dimension and Metric values over a given time range.

      <ParamField path="metric" type="MetricInput">
        The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

        <Expandable title="MetricInput">
          <ParamField path="id" type="ID">
            The ID of a pre-configured Metric.
          </ParamField>

          <ParamField path="name" type="String">
            The name of a pre-configured Metric.
          </ParamField>

          <ParamField path="custom" type="CustomMetricQueryInput">
            An ad hoc Custom Metric.

            See <a href="/docs/management-api/inputs#custommetricqueryinput">CustomMetricQueryInput</a>
          </ParamField>

          <ParamField path="count" type="CountMetricQueryInput">
            An ad hoc Count Metric.

            See <a href="/docs/management-api/inputs#countmetricqueryinput">CountMetricQueryInput</a>
          </ParamField>

          <ParamField path="sum" type="SumMetricQueryInput">
            An ad hoc Sum Metric.

            See <a href="/docs/management-api/inputs#summetricqueryinput">SumMetricQueryInput</a>
          </ParamField>

          <ParamField path="average" type="AverageMetricQueryInput">
            An ad hoc Average Metric.

            See <a href="/docs/management-api/inputs#averagemetricqueryinput">AverageMetricQueryInput</a>
          </ParamField>

          <ParamField path="min" type="MinMetricQueryInput">
            An ad hoc Min Metric.

            See <a href="/docs/management-api/inputs#minmetricqueryinput">MinMetricQueryInput</a>
          </ParamField>

          <ParamField path="max" type="MaxMetricQueryInput">
            An ad hoc Max Metric.

            See <a href="/docs/management-api/inputs#maxmetricqueryinput">MaxMetricQueryInput</a>
          </ParamField>

          <ParamField path="countDistinct" type="CountDistinctMetricQueryInput">
            An ad hoc Count Distinct Metric.

            See <a href="/docs/management-api/inputs#countdistinctmetricqueryinput">CountDistinctMetricQueryInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeRange" type="TimeRangeInput">
        The time range for calculating the leaderboard.

        <Expandable title="TimeRangeInput">
          The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

          If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric's Data Pool and ending with the latest record.

          If both relative and absolute time ranges are provided, the relative time range will take precedence.

          If a `LAST_N` relative time period is selected, an `n` ≥ 1 must be provided. If no `n` is provided or `n` \< 1, a `BAD_REQUEST` error will be returned.

          <ParamField path="timestamp" type="String">
            The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any.
            Set this to filter on an alternative timestamp field.
          </ParamField>

          <ParamField path="relative" type="RelativeTimeRange">
            The relative time period.

            See <a href="/docs/management-api/enums#relativetimerange">RelativeTimeRange</a>
          </ParamField>

          <ParamField path="n" type="Int">
            The number of time units for the `LAST_N` relative periods.
          </ParamField>

          <ParamField path="start" type="DateTime">
            The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.
          </ParamField>

          <ParamField path="stop" type="DateTime">
            The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeZone" type="String">
        The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

        You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]" required>
        One or many Dimensions to group the Metric values by. Typically, Dimensions in a leaderboard are what you want to compare and rank.

        <Expandable title="DimensionInput">
          The fields for creating or modifying a Dimension.

          <ParamField path="columnName" type="String" required>
            The name of the column to create the Dimension from.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="sort" type="Sort">
        The sort order of the rows. It can be ascending (`ASC`) or descending (`DESC`) order. Defaults to descending (`DESC`) order when not provided.

        <Expandable title="Sort">
          The available sort orders.

          <ParamField path=" ">
            * `ASC`: Sort in ascending order.
            * `DESC`: Sort in descending order.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="rowLimit" type="Int" required>
        The number of rows to be returned. It can be a number between 1 and 1,000.
      </ParamField>

      <ParamField path="filterSql" type="String">
        The Query Filters to apply before retrieving the leaderboard data, in the form of SQL. If no Query Filters are provided, all data is included.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="metricId" type="ID" deprecated>
          The ID of the Metric to query.

          Required if `metricName` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="metricName" type="String" deprecated>
          The name of the Metric to query.

          Required if `metricId` is not specified.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
        </ParamField>

        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Query Filters to apply before retrieving the leaderboard data. If no Query Filters are provided, all data is included.

          <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

          <Expandable title="FilterInput">
            The fields of a filter.

            You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

            ```
            (value > 0 AND value <= 100) OR status = "confirmed"
            ```

            you could write

            ```
            {
              "column": "value",
              "operator": "GREATER_THAN",
              "value": "0",
              "and": [{
                "column": "value",
                "operator": "LESS_THAN_OR_EQUAL_TO",
                "value": "0"
              }],
              "or": [{
                "column": "status",
                "operator": "EQUALS",
                "value": "confirmed"
              }]
            }
            ```

            Note that `and` takes precedence over `or`.

            <ParamField path="column" type="String" required>
              The name of the column to filter on.
            </ParamField>

            <ParamField path="operator" type="FilterOperator" required>
              The operation to perform when comparing the column and filter values.

              See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
            </ParamField>

            <ParamField path="value" type="String">
              The value to compare the column to.
            </ParamField>

            <ParamField path="and" type="[FilterInput!]">
              Additional filters to AND with this one. AND takes precedence over OR.
            </ParamField>

            <ParamField path="or" type="[FilterInput!]">
              Additional filters to OR with this one. AND takes precedence over OR.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </Expandable>
  </ParamField>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">LeaderboardResponse</div></div>

  <Expandable title="LeaderboardResponse">
    The leaderboard response object. It contains an array of headers and a table (array of rows) with the selected Dimensions and corresponding Metric values for the given time range and Query Filters.

    <ParamField path="headers" type="[String!]" required>
      The table headers. It contains the Dimension and Metric names.
    </ParamField>

    <ParamField path="rows" type="[[String]!]" required>
      An ordered array of rows. Each row contains the Dimension values and the corresponding Metric value. A Dimension value can be empty. A Metric value will never be empty.
    </ParamField>

    <ParamField path="query" type="QueryInfo" required>
      The Query statistics and metadata.

      <Expandable title="QueryInfo">
        The Query Info object. It contains metadata and statistics about a Query performed.

        <ParamField path="id" type="ID" required>
          The Query's unique identifier.
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The date and time in UTC when the Query was created.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The unique identifier of the actor that performed the Query.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The date and time in UTC when the Query was last modified.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The unique identifier of the actor that modified the Query.
        </ParamField>

        <ParamField path="bytesProcessed" type="String" required>
          The bytes processed by the Query.
        </ParamField>

        <ParamField path="durationInMilliseconds" type="Int" required>
          The duration of the Query in milliseconds.
        </ParamField>

        <ParamField path="recordsProcessed" type="String" required>
          The number of records processed by the Query.
        </ParamField>

        <ParamField path="resultingBytes" type="Int" required>
          The bytes returned by the Query.
        </ParamField>

        <ParamField path="resultingRecords" type="Int" required>
          The number of records returned by the Query.
        </ParamField>

        <ParamField path="booster" type="Booster">
          If the Query was boosted, the Booster that was used.
          See <a href="/docs/management-api/types#booster">Booster</a>
        </ParamField>

        <ParamField path="propeller" type="Propeller">
          The Propeller used for this query.

          See <a href="/docs/management-api/enums#propeller">Propeller</a>
        </ParamField>

        <ParamField path="status" type="QueryStatus" required>
          The Query status.

          See <a href="/docs/management-api/enums#querystatus">QueryStatus</a>
        </ParamField>

        <ParamField path="type" type="QueryType" required>
          The Query type.

          See <a href="/docs/management-api/enums#querytype">QueryType</a>
        </ParamField>

        <ParamField path="subtype" type="QuerySubtype">
          The Query subtype.

          See <a href="/docs/management-api/enums#querysubtype">QuerySubtype</a>
        </ParamField>

        <ParamField path="sql" type="String" required>
          The SQL the query executed.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## deletionJob

<ParamField path=" ">
  Returns the Deletion Job specified by the given ID.

  The Deletion Job represents the asynchronous process of deleting data
  given some filters inside a Data Pool.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DeletionJob</div></div>

  <Expandable title="DeletionJob">
    Deletion Job scheduled for a specific Data Pool.

    The Deletion Job represents the asynchronous process of deleting data
    given some filters inside a Data Pool. It tracks the deletion process
    until it is finished, showing the progress and the outcome when it is finished.

    <ParamField path="id" type="ID" required>
      The Deletion Job's ID.
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Deletion Job's creation date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      Who created the Deletion Job.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Deletion Job's last modification date and time in UTC.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      Who last modified the Deletion Job.
    </ParamField>

    <ParamField path="account" type="Account" required>
      Account to which the Deletion Job belongs.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      Environment to which the Deletion Job belongs.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataPool" type="DataPool" required>
      The Data Pool whose records will be deleted by the Deletion Job.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="status" type="JobStatus" required>
      The current Deletion Job's status.

      <Expandable title="JobStatus">
        <ParamField path=" ">
          * `CREATED`: The Job was created, but is not yet being executed.
          * `IN_PROGRESS`: The Job is executing.
          * `SUCCEEDED`: The Job succeeded.
          * `FAILED`: The Job failed. Check the error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="filterSql" type="String">
      The filters that will be used for deleting data, in the form of SQL. Data matching the filters will be deleted.
    </ParamField>

    <ParamField path="error" type="Error">
      The error that occurred while deleting data, if any.

      <Expandable title="Error">
        The error object.

        <ParamField path="code" type="Int">
          The error code.
        </ParamField>

        <ParamField path="message" type="String" required>
          The error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="progress" type="Float" required>
      The current progress of the Deletion Job, from 0.0 to 1.0.
    </ParamField>

    <ParamField path="startedAt" type="DateTime">
      The time at which the Deletion Job started.
    </ParamField>

    <ParamField path="succeededAt" type="DateTime">
      The time at which the Deletion Job succeeded.
    </ParamField>

    <ParamField path="failedAt" type="DateTime">
      The time at which the Deletion Job failed.
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="filters" type="[Filter!]" deprecated>
        The list of filters that will be used for deleting data. Data matching the filters will be deleted.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

        <Expandable title="Filter">
          The fields of a filter.

          You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

          ```
          (value > 0 AND value <= 100) OR status = "confirmed"
          ```

          you could write

          ```
          {
            "column": "value",
            "operator": "GREATER_THAN",
            "value": "0",
            "and": [{
              "column": "value",
              "operator": "LESS_THAN_OR_EQUAL_TO",
              "value": "0"
            }],
            "or": [{
              "column": "status",
              "operator": "EQUALS",
              "value": "confirmed"
            }]
          }
          ```

          Note that `and` takes precedence over `or`.

          <ParamField path="column" type="String" required>
            The name of the column to filter on.
          </ParamField>

          <ParamField path="operator" type="FilterOperator" required>
            The operation to perform when comparing the column and filter values.

            See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
          </ParamField>

          <ParamField path="value" type="String">
            The value to compare the column to.
          </ParamField>

          <ParamField path="and" type="[Filter!]">
            Additional filters to AND with this one. AND takes precedence over OR.
          </ParamField>

          <ParamField path="or" type="[Filter!]">
            Additional filters to OR with this one. AND takes precedence over OR.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## addColumnToDataPoolJob

<ParamField path=" ">
  Returns the AddColumnToDataPoolJob specified by the given ID.

  The AddColumnToDataPoolJob represents the asynchronous process of adding
  a column, given its name and type, to a Data Pool.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">AddColumnToDataPoolJob</div></div>

  <Expandable title="AddColumnToDataPoolJob">
    AddColumnToDataPoolJob scheduled for a specific Data Pool.

    The Add Column Job represents the asynchronous process of adding a column,
    given its name and type, to a Data Pool. It tracks the process of adding a column
    until it is finished, showing the progress and the outcome when it is finished.

    <ParamField path="id" type="ID" required>
      The AddColumnToDataPoolJob's ID.
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The AddColumnToDataPoolJob's creation date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      Who created the AddColumnToDataPoolJob.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The AddColumnToDataPoolJob's last modification date and time in UTC.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      Who modified the AddColumnToDataPoolJob last.
    </ParamField>

    <ParamField path="account" type="Account" required>
      Account to which the AddColumnToDataPoolJob belongs.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      Environment to which the AddColumnToDataPoolJob belongs.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataPool" type="DataPool" required>
      The Data Pool to which a column will be added by the Job.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="status" type="JobStatus" required>
      The current AddColumnToDataPoolJob's status.

      <Expandable title="JobStatus">
        <ParamField path=" ">
          * `CREATED`: The Job was created, but is not yet being executed.
          * `IN_PROGRESS`: The Job is executing.
          * `SUCCEEDED`: The Job succeeded.
          * `FAILED`: The Job failed. Check the error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="columnName" type="String" required>
      Name of the new column.
    </ParamField>

    <ParamField path="columnType" type="ColumnType" required>
      Type of the new column.

      <Expandable title="ColumnType">
        The Propel data types.

        <ParamField path=" ">
          * `BOOLEAN`: True or false.
          * `STRING`: A variable-length string.
          * `FLOAT`: A 32-bit signed double-precision floating point number.
          * `DOUBLE`: A 64-bit signed double-precision floating point number.
          * `INT8`: An 8-bit signed integer, with a minimum value of -2⁷ and a maximum value of 2⁷-1.
          * `INT16`: A 16-bit signed integer, with a minimum value of -2¹⁵ and a maximum value of 2¹⁵-1.
          * `INT32`: A 32-bit signed integer, with a minimum value of -2³¹ and a maximum value of 2³¹-1.
          * `INT64`: A 64-bit signed integer, with a minimum value of -2⁶³ and a maximum value of 2⁶³-1.
          * `DATE`: A date without a timestamp. For example, "YYYY-MM-DD".
          * `TIMESTAMP`: A date with a timestamp. For example, "yyy-MM-dd HH:mm:ss".
          * `JSON`: A JavaScript Object Notation (JSON) document.
          * `CLICKHOUSE`: A ClickHouse-specific type.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="columnClickHouseType" type="String">
      The ClickHouse type of the new column when `columnType` is set to `CLICKHOUSE`.
    </ParamField>

    <ParamField path="jsonProperty" type="String">
      JSON property to which the new column corresponds.
    </ParamField>

    <ParamField path="error" type="Error">
      The error that occurred while adding the column data, if any.

      <Expandable title="Error">
        The error object.

        <ParamField path="code" type="Int">
          The error code.
        </ParamField>

        <ParamField path="message" type="String" required>
          The error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="progress" type="Float" required>
      The current progress of the AddColumnToDataPool Job, from 0.0 to 1.0.
    </ParamField>

    <ParamField path="startedAt" type="DateTime">
      The time at which the AddColumnToDataPool Job started.
    </ParamField>

    <ParamField path="succeededAt" type="DateTime">
      The time at which the AddColumnToDataPool Job succeeded.
    </ParamField>

    <ParamField path="failedAt" type="DateTime">
      The time at which the AddColumnToDataPool Job failed.
    </ParamField>
  </Expandable>
</ParamField>

## addColumnToDataPoolJobByStatus

<ParamField path=" ">
  Returns the AddColumnToDataPool Job specified by a given status.

  ### Arguments

  <ParamField notPatch path="status" type="JobStatus" required>
    <Expandable title="JobStatus">
      <ParamField path=" ">
        * `CREATED`: The Job was created, but is not yet being executed.
        * `IN_PROGRESS`: The Job is executing.
        * `SUCCEEDED`: The Job succeeded.
        * `FAILED`: The Job failed. Check the error message.
      </ParamField>
    </Expandable>
  </ParamField>

  <ParamField notPatch path="first" type="Int" />

  <ParamField notPatch path="after" type="String" />

  <ParamField notPatch path="last" type="Int" />

  <ParamField notPatch path="before" type="String" />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">AddColumnToDataPoolJobConnection</div></div>

  <Expandable title="AddColumnToDataPoolJobConnection">
    The Add column to Data Pool Job connection object.

    Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

    <ParamField path="edges" type="[AddColumnToDataPoolJobEdge!]" required>
      The Add column to Data Pool Job connection's edges.
      See <a href="/docs/management-api/types#addcolumntodatapooljobedge">AddColumnToDataPoolJobEdge</a>
    </ParamField>

    <ParamField path="nodes" type="[AddColumnToDataPoolJob!]" required>
      The Add column to Data Pool Job connection's nodes.
      See <a href="/docs/management-api/types#addcolumntodatapooljob">AddColumnToDataPoolJob</a>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Add column to Data Pool Job connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## updateDataPoolRecordsJob

<ParamField path=" ">
  Returns the UpdateDataPoolRecords Job specified by the given ID.

  The UpdateDataPoolRecords Job represents the asynchronous process of updating
  records inside a Data Pool.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">UpdateDataPoolRecordsJob</div></div>

  <Expandable title="UpdateDataPoolRecordsJob">
    UpdateDataPoolRecords Job scheduled for a specific Data Pool.
    The Update Data Pool Records Job represents the asynchronous process of updating records
    given some filters, inside a Data Pool. It tracks the process of updating records
    until it is finished, showing the progress and the outcome when it is finished.

    <ParamField path="id" type="ID" required>
      The UpdateDataPoolRecords Job's ID
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The UpdateDataPoolRecords Job's creation date and time in UTC
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      Who created the UpdateDataPoolRecords Job
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The UpdateDataPoolRecords Job's last modification date and time in UTC
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      Who last modified the UpdateDataPoolRecords Job
    </ParamField>

    <ParamField path="account" type="Account" required>
      Account to which the UpdateDataPoolRecords Job belongs

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      Environment to which the UpdateDataPoolRecords Job belongs

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="dataPool" type="DataPool" required>
      The Data Pool whose records will be updated by the UpdateDataPoolRecords Job
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="status" type="JobStatus" required>
      The current UpdateDataPoolRecords Job's status

      <Expandable title="JobStatus">
        <ParamField path=" ">
          * `CREATED`: The Job was created, but is not yet being executed.
          * `IN_PROGRESS`: The Job is executing.
          * `SUCCEEDED`: The Job succeeded.
          * `FAILED`: The Job failed. Check the error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="filterSql" type="String">
      The filters that will be used for updating data, in the form of SQL. Data matching the filters will be updated.
    </ParamField>

    <ParamField path="set" type="[UpdateDataPoolRecordsJobSetColumn!]" required>
      Describes how the job will update the records.

      <Expandable title="UpdateDataPoolRecordsJobSetColumn">
        The fields for creating an Update Data Pool Records Job.

        ```
        {
        "column": "status",
        "expression": "'completed'"
        }

        {
        "column": "counter",
        "expression": "counter + 1"
        }

        {
        "column": "full_name",
        "expression": "concat(first_name, ' ', last_name)"
        }
        ```

        <ParamField path="column" type="String" required>
          The name of the column to update.
        </ParamField>

        <ParamField path="expression" type="String" required>
          The value to which the column will be updated. Once evaluated, it should be of the same data type as the column.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="error" type="Error">
      The error that occurred while updating data, if any.

      <Expandable title="Error">
        The error object.

        <ParamField path="code" type="Int">
          The error code.
        </ParamField>

        <ParamField path="message" type="String" required>
          The error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="progress" type="Float" required>
      The current progress of the UpdateDataPoolRecords Job, from 0.0 to 1.0.
    </ParamField>

    <ParamField path="startedAt" type="DateTime">
      The time at which the UpdateDataPoolRecords Job started.
    </ParamField>

    <ParamField path="succeededAt" type="DateTime">
      The time at which the UpdateDataPoolRecords Job succeeded.
    </ParamField>

    <ParamField path="failedAt" type="DateTime">
      The time at which the UpdateDataPoolRecords Job failed.
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="filters" type="[Filter!]" deprecated>
        The list of filters that will be used for updating data. Data matching the filters will be updated.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

        <Expandable title="Filter">
          The fields of a filter.

          You can construct more complex filters using `and` and `or`. For example, to construct a filter equivalent to

          ```
          (value > 0 AND value <= 100) OR status = "confirmed"
          ```

          you could write

          ```
          {
            "column": "value",
            "operator": "GREATER_THAN",
            "value": "0",
            "and": [{
              "column": "value",
              "operator": "LESS_THAN_OR_EQUAL_TO",
              "value": "0"
            }],
            "or": [{
              "column": "status",
              "operator": "EQUALS",
              "value": "confirmed"
            }]
          }
          ```

          Note that `and` takes precedence over `or`.

          <ParamField path="column" type="String" required>
            The name of the column to filter on.
          </ParamField>

          <ParamField path="operator" type="FilterOperator" required>
            The operation to perform when comparing the column and filter values.

            See <a href="/docs/management-api/enums#filteroperator">FilterOperator</a>
          </ParamField>

          <ParamField path="value" type="String">
            The value to compare the column to.
          </ParamField>

          <ParamField path="and" type="[Filter!]">
            Additional filters to AND with this one. AND takes precedence over OR.
          </ParamField>

          <ParamField path="or" type="[Filter!]">
            Additional filters to OR with this one. AND takes precedence over OR.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## updateDataPoolRecordsJobByStatus

<ParamField path=" ">
  Returns the UpdateDataPoolRecords Job specified by a given status.

  ### Arguments

  <ParamField notPatch path="status" type="JobStatus" required>
    <Expandable title="JobStatus">
      <ParamField path=" ">
        * `CREATED`: The Job was created, but is not yet being executed.
        * `IN_PROGRESS`: The Job is executing.
        * `SUCCEEDED`: The Job succeeded.
        * `FAILED`: The Job failed. Check the error message.
      </ParamField>
    </Expandable>
  </ParamField>

  <ParamField notPatch path="first" type="Int" />

  <ParamField notPatch path="after" type="String" />

  <ParamField notPatch path="last" type="Int" />

  <ParamField notPatch path="before" type="String" />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">UpdateDataPoolRecordsJobConnection</div></div>

  <Expandable title="UpdateDataPoolRecordsJobConnection">
    The Update Data Pool records Job connection object.

    Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

    <ParamField path="edges" type="[UpdateDataPoolRecordsJobEdge!]" required>
      The Update Data Pool records Job connection's edges.
      See <a href="/docs/management-api/types#updatedatapoolrecordsjobedge">UpdateDataPoolRecordsJobEdge</a>
    </ParamField>

    <ParamField path="nodes" type="[UpdateDataPoolRecordsJob!]" required>
      The Update Data Pool records Job connection's nodes.
      See <a href="/docs/management-api/types#updatedatapoolrecordsjob">UpdateDataPoolRecordsJob</a>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The Update Data Pool records Job connection's page info.

      <Expandable title="PageInfo">
        The page info object used for pagination.

        <ParamField path="startCursor" type="String">
          Points to the first item returned in the results. Used when paginating backward.
        </ParamField>

        <ParamField path="endCursor" type="String">
          Points to the last item returned in the results. Used when paginating forward.
        </ParamField>

        <ParamField path="hasNextPage" type="Boolean" required>
          A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.
        </ParamField>

        <ParamField path="hasPreviousPage" type="Boolean" required>
          A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## materializedView

<ParamField path=" ">
  Returns the Materialized View specified by the given ID.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MaterializedView</div></div>

  <Expandable title="MaterializedView">
    <ParamField path="id" type="ID" required>
      The Materialized View's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Materialized View's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Materialized View's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Materialized View's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Materialized View's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Materialized View's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Materialized View's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Materialized View's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Materialized View's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL that the Materialized View executes.
    </ParamField>

    <ParamField path="destination" type="DataPool" required>
      The Materialized View's destination (AKA "target") Data Pool.

      <Expandable title="DataPool">
        The Data Pool object. Data Pools are Propel's high-speed data store and cache

        <ParamField path="id" type="ID" required>
          The Data Pool's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Pool's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Pool's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Pool's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Pool's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Pool's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Pool's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="dataSource" type="DataSource" required>
          The Data Pool's Data Source.
          See <a href="/docs/management-api/types#datasource">DataSource</a>
        </ParamField>

        <ParamField path="status" type="DataPoolStatus" required>
          The Data Pool's status.

          See <a href="/docs/management-api/enums#datapoolstatus">DataPoolStatus</a>
        </ParamField>

        <ParamField path="dataRetentionInDays" type="Int" required>
          The Data Pool's data retention in days (not yet supported).
        </ParamField>

        <ParamField path="table" type="String" required>
          The name of the Data Pool's table.
        </ParamField>

        <ParamField path="timestamp" type="Timestamp">
          The Data Pool's primary timestamp column, if any.

          See <a href="/docs/management-api/types#timestamp">Timestamp</a>
        </ParamField>

        <ParamField path="recordCount" type="String">
          The number of records in the Data Pool.
        </ParamField>

        <ParamField path="sizeInTerabytes" type="Float">
          The amount of storage in terabytes used by the Data Pool.
        </ParamField>

        <ParamField path="columns" type="DataPoolColumnConnection">
          The Data Pool's columns.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="availableMeasures" type="DataPoolColumnConnection">
          The list of measures (numeric columns) in the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
          A list of setup tasks performed on the Data Pool during its most recent setup attempt.

          See <a href="/docs/management-api/types#datapoolsetuptask">DataPoolSetupTask</a>
        </ParamField>

        <ParamField path="syncing" type="DataPoolSyncing" required>
          Settings related to Data Pool syncing.

          See <a href="/docs/management-api/types#datapoolsyncing">DataPoolSyncing</a>
        </ParamField>

        <ParamField path="syncs" type="SyncConnection">
          The list of Syncs of the Data Pool.

          ### Arguments

          <ParamField notPatch path="filter" type="SyncsFilter">
            See <a href="/docs/management-api/enums#syncsfilter">SyncsFilter</a>
          </ParamField>

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
        </ParamField>

        <ParamField path="metrics" type="MetricConnection">
          The list of Metrics powered by the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
        </ParamField>

        <ParamField path="deletionJobs" type="DeletionJobConnection">
          The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
        </ParamField>

        <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
          The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
        </ParamField>

        <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
          The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
        </ParamField>

        <ParamField path="accessControlEnabled" type="Boolean" required>
          Whether the Data Pool has access control enabled or not.

          If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
          Policies in order to query the Data Pool and its Metrics.
        </ParamField>

        <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
          A paginated list of Data Pool Access Policies available on the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
        </ParamField>

        <ParamField path="validateExpression" type="ValidateExpressionResult" required>
          Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

          ### Arguments

          <ParamField notPatch path="expression" type="String" required />

          See <a href="/docs/management-api/types#validateexpressionresult">ValidateExpressionResult</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings" required>
          The Data Pool's table settings.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PARTITION BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PRIMARY KEY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="orderByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its ORDER BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>

          <ParamField path="tenant" type="Tenant" deprecated>
            The Data Pool's tenant ID, if configured.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

            See <a href="/docs/management-api/types#tenant">Tenant</a>
          </ParamField>

          <ParamField path="uniqueId" type="UniqueId" deprecated>
            The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

            See <a href="/docs/management-api/types#uniqueid">UniqueId</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="source" type="DataPool">
      The Materialized View's source Data Pool.

      <Expandable title="DataPool">
        The Data Pool object. Data Pools are Propel's high-speed data store and cache

        <ParamField path="id" type="ID" required>
          The Data Pool's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Pool's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Pool's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Pool's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Pool's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Pool's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Pool's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="dataSource" type="DataSource" required>
          The Data Pool's Data Source.
          See <a href="/docs/management-api/types#datasource">DataSource</a>
        </ParamField>

        <ParamField path="status" type="DataPoolStatus" required>
          The Data Pool's status.

          See <a href="/docs/management-api/enums#datapoolstatus">DataPoolStatus</a>
        </ParamField>

        <ParamField path="dataRetentionInDays" type="Int" required>
          The Data Pool's data retention in days (not yet supported).
        </ParamField>

        <ParamField path="table" type="String" required>
          The name of the Data Pool's table.
        </ParamField>

        <ParamField path="timestamp" type="Timestamp">
          The Data Pool's primary timestamp column, if any.

          See <a href="/docs/management-api/types#timestamp">Timestamp</a>
        </ParamField>

        <ParamField path="recordCount" type="String">
          The number of records in the Data Pool.
        </ParamField>

        <ParamField path="sizeInTerabytes" type="Float">
          The amount of storage in terabytes used by the Data Pool.
        </ParamField>

        <ParamField path="columns" type="DataPoolColumnConnection">
          The Data Pool's columns.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="availableMeasures" type="DataPoolColumnConnection">
          The list of measures (numeric columns) in the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
          A list of setup tasks performed on the Data Pool during its most recent setup attempt.

          See <a href="/docs/management-api/types#datapoolsetuptask">DataPoolSetupTask</a>
        </ParamField>

        <ParamField path="syncing" type="DataPoolSyncing" required>
          Settings related to Data Pool syncing.

          See <a href="/docs/management-api/types#datapoolsyncing">DataPoolSyncing</a>
        </ParamField>

        <ParamField path="syncs" type="SyncConnection">
          The list of Syncs of the Data Pool.

          ### Arguments

          <ParamField notPatch path="filter" type="SyncsFilter">
            See <a href="/docs/management-api/enums#syncsfilter">SyncsFilter</a>
          </ParamField>

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
        </ParamField>

        <ParamField path="metrics" type="MetricConnection">
          The list of Metrics powered by the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
        </ParamField>

        <ParamField path="deletionJobs" type="DeletionJobConnection">
          The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
        </ParamField>

        <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
          The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
        </ParamField>

        <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
          The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
        </ParamField>

        <ParamField path="accessControlEnabled" type="Boolean" required>
          Whether the Data Pool has access control enabled or not.

          If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
          Policies in order to query the Data Pool and its Metrics.
        </ParamField>

        <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
          A paginated list of Data Pool Access Policies available on the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
        </ParamField>

        <ParamField path="validateExpression" type="ValidateExpressionResult" required>
          Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

          ### Arguments

          <ParamField notPatch path="expression" type="String" required />

          See <a href="/docs/management-api/types#validateexpressionresult">ValidateExpressionResult</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings" required>
          The Data Pool's table settings.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PARTITION BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PRIMARY KEY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="orderByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its ORDER BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>

          <ParamField path="tenant" type="Tenant" deprecated>
            The Data Pool's tenant ID, if configured.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

            See <a href="/docs/management-api/types#tenant">Tenant</a>
          </ParamField>

          <ParamField path="uniqueId" type="UniqueId" deprecated>
            The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

            See <a href="/docs/management-api/types#uniqueid">UniqueId</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="others" type="[DataPool!]" required>
      Other Data Pools queried by the Materialized View.

      <Expandable title="DataPool">
        The Data Pool object. Data Pools are Propel's high-speed data store and cache

        <ParamField path="id" type="ID" required>
          The Data Pool's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Pool's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Pool's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Pool's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Pool's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Pool's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Pool's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="dataSource" type="DataSource" required>
          The Data Pool's Data Source.
          See <a href="/docs/management-api/types#datasource">DataSource</a>
        </ParamField>

        <ParamField path="status" type="DataPoolStatus" required>
          The Data Pool's status.

          See <a href="/docs/management-api/enums#datapoolstatus">DataPoolStatus</a>
        </ParamField>

        <ParamField path="dataRetentionInDays" type="Int" required>
          The Data Pool's data retention in days (not yet supported).
        </ParamField>

        <ParamField path="table" type="String" required>
          The name of the Data Pool's table.
        </ParamField>

        <ParamField path="timestamp" type="Timestamp">
          The Data Pool's primary timestamp column, if any.

          See <a href="/docs/management-api/types#timestamp">Timestamp</a>
        </ParamField>

        <ParamField path="recordCount" type="String">
          The number of records in the Data Pool.
        </ParamField>

        <ParamField path="sizeInTerabytes" type="Float">
          The amount of storage in terabytes used by the Data Pool.
        </ParamField>

        <ParamField path="columns" type="DataPoolColumnConnection">
          The Data Pool's columns.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="availableMeasures" type="DataPoolColumnConnection">
          The list of measures (numeric columns) in the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
          A list of setup tasks performed on the Data Pool during its most recent setup attempt.

          See <a href="/docs/management-api/types#datapoolsetuptask">DataPoolSetupTask</a>
        </ParamField>

        <ParamField path="syncing" type="DataPoolSyncing" required>
          Settings related to Data Pool syncing.

          See <a href="/docs/management-api/types#datapoolsyncing">DataPoolSyncing</a>
        </ParamField>

        <ParamField path="syncs" type="SyncConnection">
          The list of Syncs of the Data Pool.

          ### Arguments

          <ParamField notPatch path="filter" type="SyncsFilter">
            See <a href="/docs/management-api/enums#syncsfilter">SyncsFilter</a>
          </ParamField>

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
        </ParamField>

        <ParamField path="metrics" type="MetricConnection">
          The list of Metrics powered by the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
        </ParamField>

        <ParamField path="deletionJobs" type="DeletionJobConnection">
          The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
        </ParamField>

        <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
          The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
        </ParamField>

        <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
          The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
        </ParamField>

        <ParamField path="accessControlEnabled" type="Boolean" required>
          Whether the Data Pool has access control enabled or not.

          If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
          Policies in order to query the Data Pool and its Metrics.
        </ParamField>

        <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
          A paginated list of Data Pool Access Policies available on the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
        </ParamField>

        <ParamField path="validateExpression" type="ValidateExpressionResult" required>
          Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

          ### Arguments

          <ParamField notPatch path="expression" type="String" required />

          See <a href="/docs/management-api/types#validateexpressionresult">ValidateExpressionResult</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings" required>
          The Data Pool's table settings.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PARTITION BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PRIMARY KEY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="orderByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its ORDER BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>

          <ParamField path="tenant" type="Tenant" deprecated>
            The Data Pool's tenant ID, if configured.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

            See <a href="/docs/management-api/types#tenant">Tenant</a>
          </ParamField>

          <ParamField path="uniqueId" type="UniqueId" deprecated>
            The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

            See <a href="/docs/management-api/types#uniqueid">UniqueId</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## materializedViewByName

<ParamField path=" ">
  Returns the Materialized View specified by its unique name.

  ### Arguments

  <ParamField notPatch path="uniqueName" type="String" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MaterializedView</div></div>

  <Expandable title="MaterializedView">
    <ParamField path="id" type="ID" required>
      The Materialized View's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Materialized View's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Materialized View's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Materialized View's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Materialized View's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Materialized View's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Materialized View's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Materialized View's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Materialized View's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL that the Materialized View executes.
    </ParamField>

    <ParamField path="destination" type="DataPool" required>
      The Materialized View's destination (AKA "target") Data Pool.

      <Expandable title="DataPool">
        The Data Pool object. Data Pools are Propel's high-speed data store and cache

        <ParamField path="id" type="ID" required>
          The Data Pool's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Pool's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Pool's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Pool's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Pool's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Pool's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Pool's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="dataSource" type="DataSource" required>
          The Data Pool's Data Source.
          See <a href="/docs/management-api/types#datasource">DataSource</a>
        </ParamField>

        <ParamField path="status" type="DataPoolStatus" required>
          The Data Pool's status.

          See <a href="/docs/management-api/enums#datapoolstatus">DataPoolStatus</a>
        </ParamField>

        <ParamField path="dataRetentionInDays" type="Int" required>
          The Data Pool's data retention in days (not yet supported).
        </ParamField>

        <ParamField path="table" type="String" required>
          The name of the Data Pool's table.
        </ParamField>

        <ParamField path="timestamp" type="Timestamp">
          The Data Pool's primary timestamp column, if any.

          See <a href="/docs/management-api/types#timestamp">Timestamp</a>
        </ParamField>

        <ParamField path="recordCount" type="String">
          The number of records in the Data Pool.
        </ParamField>

        <ParamField path="sizeInTerabytes" type="Float">
          The amount of storage in terabytes used by the Data Pool.
        </ParamField>

        <ParamField path="columns" type="DataPoolColumnConnection">
          The Data Pool's columns.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="availableMeasures" type="DataPoolColumnConnection">
          The list of measures (numeric columns) in the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
          A list of setup tasks performed on the Data Pool during its most recent setup attempt.

          See <a href="/docs/management-api/types#datapoolsetuptask">DataPoolSetupTask</a>
        </ParamField>

        <ParamField path="syncing" type="DataPoolSyncing" required>
          Settings related to Data Pool syncing.

          See <a href="/docs/management-api/types#datapoolsyncing">DataPoolSyncing</a>
        </ParamField>

        <ParamField path="syncs" type="SyncConnection">
          The list of Syncs of the Data Pool.

          ### Arguments

          <ParamField notPatch path="filter" type="SyncsFilter">
            See <a href="/docs/management-api/enums#syncsfilter">SyncsFilter</a>
          </ParamField>

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
        </ParamField>

        <ParamField path="metrics" type="MetricConnection">
          The list of Metrics powered by the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
        </ParamField>

        <ParamField path="deletionJobs" type="DeletionJobConnection">
          The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
        </ParamField>

        <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
          The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
        </ParamField>

        <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
          The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
        </ParamField>

        <ParamField path="accessControlEnabled" type="Boolean" required>
          Whether the Data Pool has access control enabled or not.

          If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
          Policies in order to query the Data Pool and its Metrics.
        </ParamField>

        <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
          A paginated list of Data Pool Access Policies available on the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
        </ParamField>

        <ParamField path="validateExpression" type="ValidateExpressionResult" required>
          Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

          ### Arguments

          <ParamField notPatch path="expression" type="String" required />

          See <a href="/docs/management-api/types#validateexpressionresult">ValidateExpressionResult</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings" required>
          The Data Pool's table settings.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PARTITION BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PRIMARY KEY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="orderByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its ORDER BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>

          <ParamField path="tenant" type="Tenant" deprecated>
            The Data Pool's tenant ID, if configured.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

            See <a href="/docs/management-api/types#tenant">Tenant</a>
          </ParamField>

          <ParamField path="uniqueId" type="UniqueId" deprecated>
            The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

            See <a href="/docs/management-api/types#uniqueid">UniqueId</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="source" type="DataPool">
      The Materialized View's source Data Pool.

      <Expandable title="DataPool">
        The Data Pool object. Data Pools are Propel's high-speed data store and cache

        <ParamField path="id" type="ID" required>
          The Data Pool's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Pool's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Pool's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Pool's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Pool's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Pool's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Pool's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="dataSource" type="DataSource" required>
          The Data Pool's Data Source.
          See <a href="/docs/management-api/types#datasource">DataSource</a>
        </ParamField>

        <ParamField path="status" type="DataPoolStatus" required>
          The Data Pool's status.

          See <a href="/docs/management-api/enums#datapoolstatus">DataPoolStatus</a>
        </ParamField>

        <ParamField path="dataRetentionInDays" type="Int" required>
          The Data Pool's data retention in days (not yet supported).
        </ParamField>

        <ParamField path="table" type="String" required>
          The name of the Data Pool's table.
        </ParamField>

        <ParamField path="timestamp" type="Timestamp">
          The Data Pool's primary timestamp column, if any.

          See <a href="/docs/management-api/types#timestamp">Timestamp</a>
        </ParamField>

        <ParamField path="recordCount" type="String">
          The number of records in the Data Pool.
        </ParamField>

        <ParamField path="sizeInTerabytes" type="Float">
          The amount of storage in terabytes used by the Data Pool.
        </ParamField>

        <ParamField path="columns" type="DataPoolColumnConnection">
          The Data Pool's columns.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="availableMeasures" type="DataPoolColumnConnection">
          The list of measures (numeric columns) in the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
          A list of setup tasks performed on the Data Pool during its most recent setup attempt.

          See <a href="/docs/management-api/types#datapoolsetuptask">DataPoolSetupTask</a>
        </ParamField>

        <ParamField path="syncing" type="DataPoolSyncing" required>
          Settings related to Data Pool syncing.

          See <a href="/docs/management-api/types#datapoolsyncing">DataPoolSyncing</a>
        </ParamField>

        <ParamField path="syncs" type="SyncConnection">
          The list of Syncs of the Data Pool.

          ### Arguments

          <ParamField notPatch path="filter" type="SyncsFilter">
            See <a href="/docs/management-api/enums#syncsfilter">SyncsFilter</a>
          </ParamField>

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
        </ParamField>

        <ParamField path="metrics" type="MetricConnection">
          The list of Metrics powered by the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
        </ParamField>

        <ParamField path="deletionJobs" type="DeletionJobConnection">
          The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
        </ParamField>

        <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
          The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
        </ParamField>

        <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
          The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
        </ParamField>

        <ParamField path="accessControlEnabled" type="Boolean" required>
          Whether the Data Pool has access control enabled or not.

          If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
          Policies in order to query the Data Pool and its Metrics.
        </ParamField>

        <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
          A paginated list of Data Pool Access Policies available on the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
        </ParamField>

        <ParamField path="validateExpression" type="ValidateExpressionResult" required>
          Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

          ### Arguments

          <ParamField notPatch path="expression" type="String" required />

          See <a href="/docs/management-api/types#validateexpressionresult">ValidateExpressionResult</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings" required>
          The Data Pool's table settings.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PARTITION BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PRIMARY KEY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="orderByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its ORDER BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>

          <ParamField path="tenant" type="Tenant" deprecated>
            The Data Pool's tenant ID, if configured.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

            See <a href="/docs/management-api/types#tenant">Tenant</a>
          </ParamField>

          <ParamField path="uniqueId" type="UniqueId" deprecated>
            The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

            See <a href="/docs/management-api/types#uniqueid">UniqueId</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="others" type="[DataPool!]" required>
      Other Data Pools queried by the Materialized View.

      <Expandable title="DataPool">
        The Data Pool object. Data Pools are Propel's high-speed data store and cache

        <ParamField path="id" type="ID" required>
          The Data Pool's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Pool's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Pool's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Pool's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Pool's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Pool's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Pool's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="dataSource" type="DataSource" required>
          The Data Pool's Data Source.
          See <a href="/docs/management-api/types#datasource">DataSource</a>
        </ParamField>

        <ParamField path="status" type="DataPoolStatus" required>
          The Data Pool's status.

          See <a href="/docs/management-api/enums#datapoolstatus">DataPoolStatus</a>
        </ParamField>

        <ParamField path="dataRetentionInDays" type="Int" required>
          The Data Pool's data retention in days (not yet supported).
        </ParamField>

        <ParamField path="table" type="String" required>
          The name of the Data Pool's table.
        </ParamField>

        <ParamField path="timestamp" type="Timestamp">
          The Data Pool's primary timestamp column, if any.

          See <a href="/docs/management-api/types#timestamp">Timestamp</a>
        </ParamField>

        <ParamField path="recordCount" type="String">
          The number of records in the Data Pool.
        </ParamField>

        <ParamField path="sizeInTerabytes" type="Float">
          The amount of storage in terabytes used by the Data Pool.
        </ParamField>

        <ParamField path="columns" type="DataPoolColumnConnection">
          The Data Pool's columns.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="availableMeasures" type="DataPoolColumnConnection">
          The list of measures (numeric columns) in the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolcolumnconnection">DataPoolColumnConnection</a>
        </ParamField>

        <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
          A list of setup tasks performed on the Data Pool during its most recent setup attempt.

          See <a href="/docs/management-api/types#datapoolsetuptask">DataPoolSetupTask</a>
        </ParamField>

        <ParamField path="syncing" type="DataPoolSyncing" required>
          Settings related to Data Pool syncing.

          See <a href="/docs/management-api/types#datapoolsyncing">DataPoolSyncing</a>
        </ParamField>

        <ParamField path="syncs" type="SyncConnection">
          The list of Syncs of the Data Pool.

          ### Arguments

          <ParamField notPatch path="filter" type="SyncsFilter">
            See <a href="/docs/management-api/enums#syncsfilter">SyncsFilter</a>
          </ParamField>

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
        </ParamField>

        <ParamField path="metrics" type="MetricConnection">
          The list of Metrics powered by the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
        </ParamField>

        <ParamField path="deletionJobs" type="DeletionJobConnection">
          The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
        </ParamField>

        <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
          The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
        </ParamField>

        <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
          The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
        </ParamField>

        <ParamField path="accessControlEnabled" type="Boolean" required>
          Whether the Data Pool has access control enabled or not.

          If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
          Policies in order to query the Data Pool and its Metrics.
        </ParamField>

        <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
          A paginated list of Data Pool Access Policies available on the Data Pool.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
        </ParamField>

        <ParamField path="validateExpression" type="ValidateExpressionResult" required>
          Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

          ### Arguments

          <ParamField notPatch path="expression" type="String" required />

          See <a href="/docs/management-api/types#validateexpressionresult">ValidateExpressionResult</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings" required>
          The Data Pool's table settings.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PARTITION BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its PRIMARY KEY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <ParamField path="orderByColumns" type="[DataPoolColumn!]">
          The Data Pool's columns that participate in its ORDER BY clause.

          See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>

          <ParamField path="tenant" type="Tenant" deprecated>
            The Data Pool's tenant ID, if configured.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

            See <a href="/docs/management-api/types#tenant">Tenant</a>
          </ParamField>

          <ParamField path="uniqueId" type="UniqueId" deprecated>
            The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

            See <a href="/docs/management-api/types#uniqueid">UniqueId</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>
