> ## 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.

# Types

> Object types in the Management API

<div />

## FailureResponse

The failure response object.

<ParamField path="error" type="Error" required>
  The error that caused the failure.

  <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>

## Error

The error object.

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

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

## Account

The Account object.

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

## 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>

## EnvironmentResponse

The result of a mutation which creates or modifies an Environment.

<ParamField path="environment" type="Environment">
  The Environment which was created or modified.

  <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>

## 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>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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>

## ApplicationResponse

The result of a mutation which creates or modifies an Application.

<ParamField path="application" type="Application">
  The Application which was created or modified.

  <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>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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">
      <Expandable title="SnowflakeConnectionSettings">
        The Snowflake Data Source connection settings.

        <ParamField path="account" type="String" required>
          The Snowflake account. This is the part before the "snowflakecomputing.com" part of your Snowflake URL.
        </ParamField>

        <ParamField path="database" type="String" required>
          The Snowflake database name.
        </ParamField>

        <ParamField path="warehouse" type="String" required>
          The Snowflake warehouse name. It should be "PROPELLING" if you used the default name in the setup script.
        </ParamField>

        <ParamField path="schema" type="String" required>
          The Snowflake schema.
        </ParamField>

        <ParamField path="username" type="String" required>
          The Snowflake username. It should be "PROPEL" if you used the default name in the setup script.
        </ParamField>

        <ParamField path="role" type="String" required>
          The Snowflake role. It should be "PROPELLER" if you used the default name in the setup script.
        </ParamField>
      </Expandable>

      <Expandable title="InternalConnectionSettings">
        <ParamField path="_" type="Boolean" />
      </Expandable>

      <Expandable title="AmazonDataFirehoseConnectionSettings">
        The Amazon Data Firehose Data Source's connection settings.

        <ParamField path="accessControlEnabled" type="Boolean">
          Enables or disables access control for the Data Pool.
          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="basicAuth" type="HttpBasicAuthSettings" required>
          HTTP basic access authentication credentials. You must configure these same credentials to be included in the
          `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose issues requests to its custom HTTP endpoint.

          See <a href="/docs/management-api/types#httpbasicauthsettings">HttpBasicAuthSettings</a>
        </ParamField>

        <ParamField path="columns" type="[AmazonDataFirehoseDataSourceColumn!]">
          Additional columns for the table in Propel.

          See <a href="/docs/management-api/types#amazondatafirehosedatasourcecolumn">AmazonDataFirehoseDataSourceColumn</a>
        </ParamField>

        <ParamField path="httpEndpointURL" type="String" required>
          Copy this value into the URL field when configuring your Amazon Data Firehose to deliver to a custom HTTP endpoint.
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings">
          Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
          default will be chosen based on the Data Pool's `timestamp` value, if any. You can override these
          defaults in order to specify a custom table engine, custom ORDER BY, etc.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="timestamp" type="String">
          The primary timestamp column, if any.
        </ParamField>

        <ParamField path="xAmzFirehoseAccessKey" type="String" required>
          Copy this value into the `X-Amz-Firehose-Access-Key` header when configuring your Amazon Data Firehose to deliver to a custom HTTP endpoint.
        </ParamField>
      </Expandable>

      <Expandable title="AmazonDynamoDBConnectionSettings">
        The Amazon DynamoDB Data Source's connection settings.

        <ParamField path="accessControlEnabled" type="Boolean">
          Enables or disables access control for the Data Pool.
          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="basicAuth" type="HttpBasicAuthSettings" required>
          HTTP basic access authentication credentials. You must configure these same credentials to be included in the
          `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose transmits records from your DynamoDB table to its
          custom HTTP endpoint.

          See <a href="/docs/management-api/types#httpbasicauthsettings">HttpBasicAuthSettings</a>
        </ParamField>

        <ParamField path="columns" type="[AmazonDynamoDBDataSourceColumn!]">
          Additional columns for the table in Propel.

          See <a href="/docs/management-api/types#amazondynamodbdatasourcecolumn">AmazonDynamoDBDataSourceColumn</a>
        </ParamField>

        <ParamField path="httpEndpointURL" type="String" required>
          Copy this value into the URL field when configuring your Amazon Data Firehose to transmit records from your
          DynamoDB table to a custom HTTP endpoint.
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings">
          Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
          default will be chosen based on the Data Pool's `timestamp` value, if any. You can override these
          defaults in order to specify a custom table engine, custom ORDER BY, etc.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="timestamp" type="String">
          The primary timestamp column, if any.
        </ParamField>

        <ParamField path="xAmzFirehoseAccessKey" type="String" required>
          Copy this value into the `X-Amz-Firehose-Access-Key` header when configuring your Amazon Data Firehose to
          transmit records from your DynamoDB table to its custom HTTP endpoint.
        </ParamField>
      </Expandable>

      <Expandable title="ClickHouseConnectionSettings">
        The ClickHouse Data Source connection settings.

        <ParamField path="database" type="String" required>
          Which database to connect to
        </ParamField>

        <ParamField path="password" type="String" required>
          The password for the provided user
        </ParamField>

        <ParamField path="readonly" type="Boolean">
          Whether the user has readonly permissions or not for querying ClickHouse
        </ParamField>

        <ParamField path="url" type="String" required>
          The URL where the ClickHouse host is listening to HTTP\[S] connections
        </ParamField>

        <ParamField path="user" type="String" required>
          The user for authenticating against the ClickHouse host
        </ParamField>
      </Expandable>

      <Expandable title="HttpConnectionSettings">
        The HTTP Data Source connection settings.

        <ParamField path="basicAuth" type="HttpBasicAuthSettings">
          The HTTP Basic authentication settings for uploading new data.

          If this parameter is not provided, anyone with the URL to your tables will be able to upload data. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

          See <a href="/docs/management-api/types#httpbasicauthsettings">HttpBasicAuthSettings</a>
        </ParamField>

        <ParamField path="tables" type="[HttpDataSourceTable!]" required>
          The HTTP Data Source's tables.

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

      <Expandable title="KafkaConnectionSettings">
        The Kafka Data Source connection settings.

        <ParamField path="auth" type="String" required>
          The type of authentication to use. Can be SCRAM-SHA-256, SCRAM-SHA-512, PLAIN or NONE
        </ParamField>

        <ParamField path="bootstrapServers" type="[String!]" required>
          The bootstrap server(s) to connect to
        </ParamField>

        <ParamField path="password" type="String" required>
          The password for the provided user
        </ParamField>

        <ParamField path="tls" type="Boolean">
          Whether the the connection to the Kafka servers is encrypted or not
        </ParamField>

        <ParamField path="user" type="String" required>
          The user for authenticating against the Kafka servers
        </ParamField>
      </Expandable>

      <Expandable title="PostgreSqlConnectionSettings">
        The PostgreSQL Data Source connection settings.

        <ParamField path="database" type="String">
          Which database to connect to
        </ParamField>

        <ParamField path="host" type="String" required>
          The host where PostgreSQL is listening
        </ParamField>

        <ParamField path="port" type="Int">
          The port where PostgreSQL is listening (usually 5432)
        </ParamField>

        <ParamField path="schema" type="String">
          Which schema to use
        </ParamField>

        <ParamField path="user" type="String" required>
          The user for authenticating against PostgreSQL
        </ParamField>
      </Expandable>

      <Expandable title="S3ConnectionSettings">
        The connection settings for an Amazon S3 Data Source. These include the Amazon S3 bucket name, the AWS access key ID, and the tables (along with their paths). We do not allow fetching the AWS secret access key after it has been set.

        <ParamField path="awsAccessKeyId" type="String" required>
          The AWS access key ID for an IAM user with sufficient access to the Amazon S3 bucket.
        </ParamField>

        <ParamField path="bucket" type="String" required>
          The name of the Amazon S3 bucket.
        </ParamField>

        <ParamField path="tables" type="[S3DataSourceTable!]" required>
          The Amazon S3 Data Source's tables.

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

      <Expandable title="TwilioSegmentConnectionSettings">
        The Twilio Segment Data Source connection settings.

        <ParamField path="accessControlEnabled" type="Boolean">
          Enables or disables access control for the Data Pool.
          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="basicAuth" type="HttpBasicAuthSettings">
          The HTTP basic authentication settings for the Twilio Segment Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

          See <a href="/docs/management-api/types#httpbasicauthsettings">HttpBasicAuthSettings</a>
        </ParamField>

        <ParamField path="columns" type="[TwilioSegmentDataSourceColumn!]">
          The additional columns for the table in Propel.

          See <a href="/docs/management-api/types#twiliosegmentdatasourcecolumn">TwilioSegmentDataSourceColumn</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings">
          Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
          default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if any. You can override these
          defaults in order to specify a custom table engine, custom ORDER BY, etc.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="timestamp" type="String">
          The primary timestamp column, if any.
        </ParamField>

        <ParamField path="webhookUrl" type="String" required>
          The webhook URL that Twilio Segment should POST events to.
        </ParamField>
      </Expandable>

      <Expandable title="WebhookConnectionSettings">
        The Webhook Data Source connection settings.

        <ParamField path="accessControlEnabled" type="Boolean">
          Enables or disables access control for the Data Pool.
          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="basicAuth" type="HttpBasicAuthSettings">
          The HTTP basic authentication settings for the Webhook Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

          See <a href="/docs/management-api/types#httpbasicauthsettings">HttpBasicAuthSettings</a>
        </ParamField>

        <ParamField path="columns" type="[WebhookDataSourceColumn!]">
          The additional columns for the table in Propel.

          See <a href="/docs/management-api/types#webhookdatasourcecolumn">WebhookDataSourceColumn</a>
        </ParamField>

        <ParamField path="tableSettings" type="TableSettings">
          Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
          default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if any. You can override these
          defaults in order to specify a custom table engine, custom ORDER BY, etc.

          See <a href="/docs/management-api/types#tablesettings">TableSettings</a>
        </ParamField>

        <ParamField path="timestamp" type="String">
          The primary timestamp column, if any.
        </ParamField>

        <ParamField path="webhookUrl" type="String" required>
          The Webhook URL for posting JSON events
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="tenant" type="String" deprecated>
            The tenant ID column, if any.

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

          <ParamField path="uniqueId" type="String" deprecated>
            The unique ID column, if any. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated.

            <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Table Settings to define the primary key.</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </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).

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

        <ParamField path=" ">
          * `NOT_STARTED`: The Check has not started.
          * `SUCCEEDED`: The Check succeeded.
          * `FAILED`: The Check failed.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="error" type="Error">
      If the Data Source Check failed, 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="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>

## 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).

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

    <ParamField path=" ">
      * `NOT_STARTED`: The Check has not started.
      * `SUCCEEDED`: The Check succeeded.
      * `FAILED`: The Check failed.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="error" type="Error">
  If the Data Source Check failed, 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="checkedAt" type="DateTime">
  The time at which the Data Source Check was performed.
</ParamField>

## TableIntrospection

The table introspection object.

When setting up a Data Source, Propel may need to introspect tables in order to determine what tables and columns are available to create Data Pools from. The table introspection represents the lifecycle of this operation (whether it's in-progress, succeeded, or failed) and the resulting tables and columns. These will be captured as table and column objects, respectively.

<ParamField path="dataSource" type="DataSource" required>
  The Data Source the table introspection was performed for.
  See <a href="/docs/management-api/types#datasource">DataSource</a>
</ParamField>

<ParamField path="status" type="TableIntrospectionStatus" required>
  The status of the table introspection.

  <Expandable title="TableIntrospectionStatus">
    The status of a table introspection.

    <ParamField path=" ">
      * `NOT_STARTED`: The table introspection has not started.
      * `STARTED`: The table introspection has started.
      * `SUCCEEDED`: The table introspection succeeded.
      * `FAILED`: The table introspection failed.
    </ParamField>
  </Expandable>
</ParamField>

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

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

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

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

<ParamField path="numTables" type="Int">
  The number of tables introspected.
</ParamField>

<ParamField path="tables" type="TableConnection">
  The tables introspected.

  ### 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>

## 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.

      <Expandable title="ColumnEdge">
        The column 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="Column" required>
          The edge's node.

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

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

      <Expandable title="Column">
        The column object.

        Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

        <ParamField path="name" type="String" required>
          The column's name.
        </ParamField>

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

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

        <ParamField path="cachedAt" type="DateTime" required>
          The time at which the column was cached (i.e., the time at which it was introspected).
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The time at which the column was created. This is the same as its `cachedAt` time.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The column'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="suggestedDataPoolColumnType" type="ColumnType">
          This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column.
          Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns `null`.

          Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer
          to `supportedDataPoolColumnTypes` for the full set of supported conversions.

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

        <ParamField path="supportedDataPoolColumnTypes" type="[ColumnType!]" required>
          This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

          For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

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

        <Expandable title="Deprecated Fields">
          <ParamField path="kind" type="String" required deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="defaultValue" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isPrimaryKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="comment" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="policyName" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The column 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>

<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.

      <Expandable title="ColumnEdge">
        The column 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="Column" required>
          The edge's node.

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

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

      <Expandable title="Column">
        The column object.

        Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

        <ParamField path="name" type="String" required>
          The column's name.
        </ParamField>

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

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

        <ParamField path="cachedAt" type="DateTime" required>
          The time at which the column was cached (i.e., the time at which it was introspected).
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The time at which the column was created. This is the same as its `cachedAt` time.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The column'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="suggestedDataPoolColumnType" type="ColumnType">
          This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column.
          Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns `null`.

          Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer
          to `supportedDataPoolColumnTypes` for the full set of supported conversions.

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

        <ParamField path="supportedDataPoolColumnTypes" type="[ColumnType!]" required>
          This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

          For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

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

        <Expandable title="Deprecated Fields">
          <ParamField path="kind" type="String" required deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="defaultValue" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isPrimaryKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="comment" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="policyName" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The column 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>

<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.

      <Expandable title="ColumnEdge">
        The column 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="Column" required>
          The edge's node.

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

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

      <Expandable title="Column">
        The column object.

        Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

        <ParamField path="name" type="String" required>
          The column's name.
        </ParamField>

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

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

        <ParamField path="cachedAt" type="DateTime" required>
          The time at which the column was cached (i.e., the time at which it was introspected).
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The time at which the column was created. This is the same as its `cachedAt` time.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The column'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="suggestedDataPoolColumnType" type="ColumnType">
          This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column.
          Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns `null`.

          Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer
          to `supportedDataPoolColumnTypes` for the full set of supported conversions.

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

        <ParamField path="supportedDataPoolColumnTypes" type="[ColumnType!]" required>
          This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

          For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

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

        <Expandable title="Deprecated Fields">
          <ParamField path="kind" type="String" required deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="defaultValue" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isPrimaryKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="comment" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="policyName" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="pageInfo" type="PageInfo" required>
      The column 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>

<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>

## Column

The column object.

Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

<ParamField path="name" type="String" required>
  The column's name.
</ParamField>

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

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

<ParamField path="cachedAt" type="DateTime" required>
  The time at which the column was cached (i.e., the time at which it was introspected).
</ParamField>

<ParamField path="createdAt" type="DateTime" required>
  The time at which the column was created. This is the same as its `cachedAt` time.
</ParamField>

<ParamField path="createdBy" type="String" required>
  The column'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="suggestedDataPoolColumnType" type="ColumnType">
  This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column.
  Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns `null`.

  Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer
  to `supportedDataPoolColumnTypes` for the full set of supported conversions.

  <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="supportedDataPoolColumnTypes" type="[ColumnType!]" required>
  This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

  For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

  <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>

<Expandable title="Deprecated Fields">
  <ParamField path="kind" type="String" required deprecated>
    Information about the column obtained from Snowflake.

    <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
  </ParamField>

  <ParamField path="defaultValue" type="String" deprecated>
    Information about the column obtained from Snowflake.

    <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
  </ParamField>

  <ParamField path="isPrimaryKey" type="Boolean" deprecated>
    Information about the column obtained from Snowflake.

    <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
  </ParamField>

  <ParamField path="isUniqueKey" type="Boolean" deprecated>
    Information about the column obtained from Snowflake.

    <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
  </ParamField>

  <ParamField path="comment" type="String" deprecated>
    Information about the column obtained from Snowflake.

    <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
  </ParamField>

  <ParamField path="policyName" type="String" deprecated>
    Information about the column obtained from Snowflake.

    <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
  </ParamField>
</Expandable>

## InternalConnectionSettings

<ParamField path="_" type="Boolean" />

## SnowflakeConnectionSettings

The Snowflake Data Source connection settings.

<ParamField path="account" type="String" required>
  The Snowflake account. This is the part before the "snowflakecomputing.com" part of your Snowflake URL.
</ParamField>

<ParamField path="database" type="String" required>
  The Snowflake database name.
</ParamField>

<ParamField path="warehouse" type="String" required>
  The Snowflake warehouse name. It should be "PROPELLING" if you used the default name in the setup script.
</ParamField>

<ParamField path="schema" type="String" required>
  The Snowflake schema.
</ParamField>

<ParamField path="username" type="String" required>
  The Snowflake username. It should be "PROPEL" if you used the default name in the setup script.
</ParamField>

<ParamField path="role" type="String" required>
  The Snowflake role. It should be "PROPELLER" if you used the default name in the setup script.
</ParamField>

## HttpBasicAuthSettings

The HTTP Basic authentication settings.

<ParamField path="username" type="String" required>
  Username for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
</ParamField>

<ParamField path="password" type="String" required>
  Password for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
</ParamField>

## HttpDataSourceTable

An HTTP Data Source's table.

<ParamField path="id" type="ID" required>
  The ID of the table
</ParamField>

<ParamField path="name" type="String" required>
  The name of the table
</ParamField>

<ParamField path="columns" type="[HttpDataSourceColumn!]" required>
  All the columns present in the table

  <Expandable title="HttpDataSourceColumn">
    A column in an HTTP Data Source's table.

    <ParamField path="name" type="String" required>
      The column name. It has to be unique within a table.
    </ParamField>

    <ParamField path="type" type="ColumnType" required>
      The column type.

      <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="clickHouseType" type="String">
      The ClickHouse type to use when `type` is set to `CLICKHOUSE`.
    </ParamField>

    <ParamField path="nullable" type="Boolean" required>
      Whether the column's type is nullable or not.
    </ParamField>
  </Expandable>
</ParamField>

## HttpDataSourceColumn

A column in an HTTP Data Source's table.

<ParamField path="name" type="String" required>
  The column name. It has to be unique within a table.
</ParamField>

<ParamField path="type" type="ColumnType" required>
  The column type.

  <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="clickHouseType" type="String">
  The ClickHouse type to use when `type` is set to `CLICKHOUSE`.
</ParamField>

<ParamField path="nullable" type="Boolean" required>
  Whether the column's type is nullable or not.
</ParamField>

## S3DataSourceTable

An Amazon S3 Data Source's table.

<ParamField path="id" type="ID" required>
  The ID of the table
</ParamField>

<ParamField path="name" type="String" required>
  The name of the table
</ParamField>

<ParamField path="path" type="String">
  The path to the table's files in Amazon S3.
</ParamField>

<ParamField path="columns" type="[S3DataSourceColumn!]" required>
  All the columns present in the table

  <Expandable title="S3DataSourceColumn">
    A column in an Amazon S3 Data Source's table.

    <ParamField path="name" type="String" required>
      The column name.
    </ParamField>

    <ParamField path="type" type="ColumnType" required>
      The column type.

      <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="nullable" type="Boolean" required>
      Whether the column's type is nullable or not.
    </ParamField>
  </Expandable>
</ParamField>

## S3DataSourceColumn

A column in an Amazon S3 Data Source's table.

<ParamField path="name" type="String" required>
  The column name.
</ParamField>

<ParamField path="type" type="ColumnType" required>
  The column type.

  <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="nullable" type="Boolean" required>
  Whether the column's type is nullable or not.
</ParamField>

## AmazonDataFirehoseDataSourceColumn

A column in an Amazon Data Firehose Data Source's table.

<ParamField path="name" type="String" required>
  The column name.
</ParamField>

<ParamField path="jsonProperty" type="String" required>
  The JSON property that the column will be derived from. For example, if you send a JSON event like this:

  ```json theme={"system"}
  { "greeting": { "message": "hello, world" } }
  ```

  Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
</ParamField>

<ParamField path="type" type="ColumnType" required>
  The column type.

  <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="nullable" type="Boolean" required>
  Whether the column's type is nullable or not.
</ParamField>

## AmazonDynamoDBDataSourceColumn

A column in an Amazon DynamoDB Data Source's table.

<ParamField path="name" type="String" required>
  The column name.
</ParamField>

<ParamField path="jsonProperty" type="String" required>
  The JSON property that the column will be derived from. For example, if you send a JSON event like this:

  ```json theme={"system"}
  { "greeting": { "message": "hello, world" } }
  ```

  Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
</ParamField>

<ParamField path="type" type="ColumnType" required>
  The column type.

  <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="nullable" type="Boolean" required>
  Whether the column's type is nullable or not.
</ParamField>

## TwilioSegmentDataSourceColumn

A column in a Twilio Segment Data Source's table.

<ParamField path="name" type="String" required>
  The column name.
</ParamField>

<ParamField path="jsonProperty" type="String" required>
  The JSON property that the column will be derived from. For example, if you POST a JSON event like this:

  ```json theme={"system"}
  { "greeting": { "message": "hello, world" } }
  ```

  Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
</ParamField>

<ParamField path="type" type="ColumnType" required>
  The column type.

  <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="nullable" type="Boolean" required>
  Whether the column's type is nullable or not.
</ParamField>

## WebhookDataSourceColumn

A column in a Webhook Data Source's table.

<ParamField path="name" type="String" required>
  The column name.
</ParamField>

<ParamField path="jsonProperty" type="String" required>
  The JSON property that the column will be derived from. For example, if you POST a JSON event like this:

  ```json theme={"system"}
  { "greeting": { "message": "hello, world" } }
  ```

  Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
</ParamField>

<ParamField path="type" type="ColumnType" required>
  The column type.

  <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="nullable" type="Boolean" required>
  Whether the column's type is nullable or not.
</ParamField>

## DataSourceResponse

The result of a mutation which creates or modifies a Data Source.

<ParamField path="dataSource" type="DataSource">
  The Data Source which was created or modified.

  <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>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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.

      <Expandable title="DataPoolColumnEdge">
        The Data Pool column 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="DataPoolColumn" required>
          The edge's node.

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

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

      <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="pageInfo" type="PageInfo" required>
      The Data Pool column 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>

<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.

      <Expandable title="DataPoolColumnEdge">
        The Data Pool column 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="DataPoolColumn" required>
          The edge's node.

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

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

      <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="pageInfo" type="PageInfo" required>
      The Data Pool column 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>

<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).

      <Expandable title="DataPoolSetupTaskStatus">
        The status of a Data Pool Setup Task.

        <ParamField path=" ">
          * `NOT_STARTED`: The Data Pool Setup Task has not been started yet.
          * `SUCCEEDED`: The Data Pool Setup Task has completed successfully.
          * `FAILED`: The Data Pool Setup Task has failed.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="error" type="Error">
      If the Data Pool Setup Task failed, 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="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.

      <Expandable title="DataPoolSyncStatus">
        The Data Pool Sync Status. It indicates whether a Data Pool is syncing data or not.

        <ParamField path=" ">
          * `ENABLED`:  Syncing is enabled for the Data Pool.
          * `DISABLING`:  Propel is disabling syncing for the Data Pool.
          * `DISABLED`:  Syncing is disabled for the Data Pool.
        </ParamField>
      </Expandable>
    </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.

      <Expandable title="DataPoolSyncInterval">
        The available Data Pool sync intervals. Specify unit of time between attempts to sync data from your data warehouse.

        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.

        <ParamField path=" ">
          * `EVERY_1_MINUTE`
          * `EVERY_5_MINUTES`
          * `EVERY_15_MINUTES`
          * `EVERY_30_MINUTES`
          * `EVERY_1_HOUR`
          * `EVERY_4_HOURS`
          * `EVERY_12_HOURS`
          * `EVERY_24_HOURS`
        </ParamField>
      </Expandable>
    </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.

      <Expandable title="TableEngine">
        A Data Pool's table engine.

        <ParamField path="TableEngine" type="MergeTreeTableEngine | ReplacingMergeTreeTableEngine | SummingMergeTreeTableEngine | AggregatingMergeTreeTableEngine | PostgreSqlTableEngine">
          See <a href="/docs/management-api/types#mergetreetableengine">MergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#replacingmergetreetableengine">ReplacingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#summingmergetreetableengine">SummingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#aggregatingmergetreetableengine">AggregatingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#postgresqltableengine">PostgreSqlTableEngine</a>
        </ParamField>
      </Expandable>
    </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.

      <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="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.

      <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="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.

      <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="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>

## 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.

  <Expandable title="TableEngine">
    A Data Pool's table engine.

    <ParamField path="TableEngine" type="MergeTreeTableEngine | ReplacingMergeTreeTableEngine | SummingMergeTreeTableEngine | AggregatingMergeTreeTableEngine | PostgreSqlTableEngine">
      <Expandable title="MergeTreeTableEngine">
        Parameters for the MergeTree table engine.

        <ParamField path="type" type="TableEngineType" required>
          The type is always `MERGE_TREE`.

          See <a href="/docs/management-api/enums#tableenginetype">TableEngineType</a>
        </ParamField>
      </Expandable>

      <Expandable title="ReplacingMergeTreeTableEngine">
        Parameters for the ReplacingMergeTree table engine.

        <ParamField path="type" type="TableEngineType" required>
          The type is always `REPLACING_MERGE_TREE`.

          See <a href="/docs/management-api/enums#tableenginetype">TableEngineType</a>
        </ParamField>

        <ParamField path="ver" type="String">
          The `ver` parameter to the ReplacingMergeTree engine.
        </ParamField>
      </Expandable>

      <Expandable title="SummingMergeTreeTableEngine">
        Parameters for the SummingMergeTree table engine.

        <ParamField path="type" type="TableEngineType" required>
          The type is always `SUMMING_MERGE_TREE`.

          See <a href="/docs/management-api/enums#tableenginetype">TableEngineType</a>
        </ParamField>

        <ParamField path="columns" type="[String!]">
          The columns argument for the SummingMergeTree table engine
        </ParamField>
      </Expandable>

      <Expandable title="AggregatingMergeTreeTableEngine">
        Parameters for the AggregatingMergeTree table engine.

        <ParamField path="type" type="TableEngineType" required>
          The type is always `AGGREGATING_MERGE_TREE`.

          See <a href="/docs/management-api/enums#tableenginetype">TableEngineType</a>
        </ParamField>
      </Expandable>

      <Expandable title="PostgreSqlTableEngine">
        Parameters for the PostgreSQL table engine.

        <ParamField path="type" type="TableEngineType" required>
          The type is always `POSTGRESQL`.

          See <a href="/docs/management-api/enums#tableenginetype">TableEngineType</a>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</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>

## MergeTreeTableEngine

Parameters for the MergeTree table engine.

<ParamField path="type" type="TableEngineType" required>
  The type is always `MERGE_TREE`.

  <Expandable title="TableEngineType">
    ClickHouse table engine types.

    <ParamField path=" ">
      * `MERGE_TREE`: The MergeTree table engine.
      * `REPLACING_MERGE_TREE`: The ReplacingMergeTree table engine.
      * `SUMMING_MERGE_TREE`: The SummingMergeTree table engine.
      * `AGGREGATING_MERGE_TREE`: The AggregatingMergeTree table engine.
      * `POSTGRESQL`: The PostgreSQL table engine.
    </ParamField>
  </Expandable>
</ParamField>

## ReplacingMergeTreeTableEngine

Parameters for the ReplacingMergeTree table engine.

<ParamField path="type" type="TableEngineType" required>
  The type is always `REPLACING_MERGE_TREE`.

  <Expandable title="TableEngineType">
    ClickHouse table engine types.

    <ParamField path=" ">
      * `MERGE_TREE`: The MergeTree table engine.
      * `REPLACING_MERGE_TREE`: The ReplacingMergeTree table engine.
      * `SUMMING_MERGE_TREE`: The SummingMergeTree table engine.
      * `AGGREGATING_MERGE_TREE`: The AggregatingMergeTree table engine.
      * `POSTGRESQL`: The PostgreSQL table engine.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="ver" type="String">
  The `ver` parameter to the ReplacingMergeTree engine.
</ParamField>

## SummingMergeTreeTableEngine

Parameters for the SummingMergeTree table engine.

<ParamField path="type" type="TableEngineType" required>
  The type is always `SUMMING_MERGE_TREE`.

  <Expandable title="TableEngineType">
    ClickHouse table engine types.

    <ParamField path=" ">
      * `MERGE_TREE`: The MergeTree table engine.
      * `REPLACING_MERGE_TREE`: The ReplacingMergeTree table engine.
      * `SUMMING_MERGE_TREE`: The SummingMergeTree table engine.
      * `AGGREGATING_MERGE_TREE`: The AggregatingMergeTree table engine.
      * `POSTGRESQL`: The PostgreSQL table engine.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="columns" type="[String!]">
  The columns argument for the SummingMergeTree table engine
</ParamField>

## AggregatingMergeTreeTableEngine

Parameters for the AggregatingMergeTree table engine.

<ParamField path="type" type="TableEngineType" required>
  The type is always `AGGREGATING_MERGE_TREE`.

  <Expandable title="TableEngineType">
    ClickHouse table engine types.

    <ParamField path=" ">
      * `MERGE_TREE`: The MergeTree table engine.
      * `REPLACING_MERGE_TREE`: The ReplacingMergeTree table engine.
      * `SUMMING_MERGE_TREE`: The SummingMergeTree table engine.
      * `AGGREGATING_MERGE_TREE`: The AggregatingMergeTree table engine.
      * `POSTGRESQL`: The PostgreSQL table engine.
    </ParamField>
  </Expandable>
</ParamField>

## PostgreSqlTableEngine

Parameters for the PostgreSQL table engine.

<ParamField path="type" type="TableEngineType" required>
  The type is always `POSTGRESQL`.

  <Expandable title="TableEngineType">
    ClickHouse table engine types.

    <ParamField path=" ">
      * `MERGE_TREE`: The MergeTree table engine.
      * `REPLACING_MERGE_TREE`: The ReplacingMergeTree table engine.
      * `SUMMING_MERGE_TREE`: The SummingMergeTree table engine.
      * `AGGREGATING_MERGE_TREE`: The AggregatingMergeTree table engine.
      * `POSTGRESQL`: The PostgreSQL table engine.
    </ParamField>
  </Expandable>
</ParamField>

## 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).

  <Expandable title="DataPoolSetupTaskStatus">
    The status of a Data Pool Setup Task.

    <ParamField path=" ">
      * `NOT_STARTED`: The Data Pool Setup Task has not been started yet.
      * `SUCCEEDED`: The Data Pool Setup Task has completed successfully.
      * `FAILED`: The Data Pool Setup Task has failed.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="error" type="Error">
  If the Data Pool Setup Task failed, 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="completedAt" type="DateTime">
  The time at which the Data Pool Setup Task was completed.
</ParamField>

## 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>

    <Expandable title="DimensionStatistics">
      Statistics about a particular Dimension.

      <ParamField path="uniqueValues" type="[String!]">
        An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

        ### Arguments

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

      <ParamField path="min" type="String">
        The minimum value of the Dimension.
      </ParamField>

      <ParamField path="max" type="String">
        The maximum value of the Dimension.
      </ParamField>

      <ParamField path="average" type="String">
        The average value of the Dimension. Empty for non-numeric Dimensions.
      </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>
</Expandable>

## DimensionStatistics

Statistics about a particular Dimension.

<ParamField path="uniqueValues" type="[String!]">
  An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

  ### Arguments

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

<ParamField path="min" type="String">
  The minimum value of the Dimension.
</ParamField>

<ParamField path="max" type="String">
  The maximum value of the Dimension.
</ParamField>

<ParamField path="average" type="String">
  The average value of the Dimension. Empty for non-numeric Dimensions.
</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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL the query executed.
    </ParamField>
  </Expandable>
</ParamField>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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.

      <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>

<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.

      <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>

<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.

      <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>

## MaterializedViewResponse

The result of a mutation which creates or modifies a Materialized View.

<ParamField path="materializedView" type="MaterializedView" required>
  The Materialized View which was created or modified.

  <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>

## 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.

  <Expandable title="FilterOperator">
    The available Filter operators.

    <ParamField path=" ">
      * `EQUALS`:  Selects values that are equal to the specified value.
      * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
      * `GREATER_THAN`:  Selects values that are greater than the specified value.
      * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
      * `LESS_THAN`:  Selects values that are less than the specified value.
      * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
      * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
      * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
      * `LIKE`:  Selects values that match the specified pattern.
      * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
    </ParamField>
  </Expandable>
</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>

## 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>

## 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>

## 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>

## 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>

## 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.

  <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="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>

## DataPoolResponse

The result of a mutation which creates or modifies a Data Pool.

<ParamField path="dataPool" type="DataPool">
  The Data Pool which was created or modified.

  <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>

## DataPoolSyncing

Settings related to Data Pool syncing.

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

  <Expandable title="DataPoolSyncStatus">
    The Data Pool Sync Status. It indicates whether a Data Pool is syncing data or not.

    <ParamField path=" ">
      * `ENABLED`:  Syncing is enabled for the Data Pool.
      * `DISABLING`:  Propel is disabling syncing for the Data Pool.
      * `DISABLED`:  Syncing is disabled for the Data Pool.
    </ParamField>
  </Expandable>
</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.

  <Expandable title="DataPoolSyncInterval">
    The available Data Pool sync intervals. Specify unit of time between attempts to sync data from your data warehouse.

    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.

    <ParamField path=" ">
      * `EVERY_1_MINUTE`
      * `EVERY_5_MINUTES`
      * `EVERY_15_MINUTES`
      * `EVERY_30_MINUTES`
      * `EVERY_1_HOUR`
      * `EVERY_4_HOURS`
      * `EVERY_12_HOURS`
      * `EVERY_24_HOURS`
    </ParamField>
  </Expandable>
</ParamField>

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

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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.

      <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>

<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>

## 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.

      <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="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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL the query executed.
    </ParamField>
  </Expandable>
</ParamField>

## MetricReportEdge

The Metric Report edge object.

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

  <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="cursor" type="String" required>
  The edge's cursor.
</ParamField>

## 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>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </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">
      <Expandable title="CountMetricSettings">
        Settings for Count Metrics.

        <ParamField path="filterSql" type="String">
          Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

          You can provide the filters in the form of SQL.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[Filter!]" deprecated>
            Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

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

      <Expandable title="SumMetricSettings">
        Settings for Sum Metrics.

        <ParamField path="filterSql" type="String">
          Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

          You can provide the filters in the form of SQL.
        </ParamField>

        <ParamField path="measure" type="Dimension" required>
          The Dimension to be summed.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[Filter!]" deprecated>
            Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

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

      <Expandable title="CountDistinctMetricSettings">
        Settings for Count Distinct Metrics.

        <ParamField path="filterSql" type="String">
          Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

          You can provide the filters in the form of SQL.
        </ParamField>

        <ParamField path="dimension" type="Dimension" required>
          The Dimension where the count distinct operation is going to be performed.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[Filter!]" deprecated>
            Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

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

      <Expandable title="AverageMetricSettings">
        Settings for Average Metrics.

        <ParamField path="filterSql" type="String">
          Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

          You can provide the filters in the form of SQL.
        </ParamField>

        <ParamField path="measure" type="Dimension" required>
          The Dimension to be averaged.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[Filter!]" deprecated>
            Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

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

      <Expandable title="MinMetricSettings">
        Settings for Min Metrics.

        <ParamField path="filterSql" type="String">
          Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

          You can provide the filters in the form of SQL.
        </ParamField>

        <ParamField path="measure" type="Dimension" required>
          The Dimension to select the minimum from.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[Filter!]" deprecated>
            Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

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

      <Expandable title="MaxMetricSettings">
        Settings for Max Metrics.

        <ParamField path="filterSql" type="String">
          Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

          You can provide the filters in the form of SQL.
        </ParamField>

        <ParamField path="measure" type="Dimension" required>
          The Dimension to select the maximum from.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[Filter!]" deprecated>
            Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

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

      <Expandable title="CustomMetricSettings">
        Settings for Custom Metrics.

        <ParamField path="filterSql" type="String">
          Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

          You can provide the filters in the form of SQL.
        </ParamField>

        <ParamField path="expression" type="String" required>
          The expression that defines the aggregation function for this Metric.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[Filter!]" deprecated>
            Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

            <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

            See <a href="/docs/management-api/types#filter">Filter</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </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>

          <Expandable title="DimensionStatistics">
            Statistics about a particular Dimension.

            <ParamField path="uniqueValues" type="[String!]">
              An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

              ### Arguments

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

            <ParamField path="min" type="String">
              The minimum value of the Dimension.
            </ParamField>

            <ParamField path="max" type="String">
              The maximum value of the Dimension.
            </ParamField>

            <ParamField path="average" type="String">
              The average value of the Dimension. Empty for non-numeric Dimensions.
            </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>
      </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.

          <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>

    <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>

  <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.

          <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>

    <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>

  <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.

          <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>

    <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>

  <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>

## CountMetricSettings

Settings for Count Metrics.

<ParamField path="filterSql" type="String">
  Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

  You can provide the filters in the form of SQL.
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="filters" type="[Filter!]" deprecated>
    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

    <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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## SumMetricSettings

Settings for Sum Metrics.

<ParamField path="filterSql" type="String">
  Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

  You can provide the filters in the form of SQL.
</ParamField>

<ParamField path="measure" type="Dimension" required>
  The Dimension to be summed.

  <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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </Expandable>
  </Expandable>
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="filters" type="[Filter!]" deprecated>
    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

    <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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## CountDistinctMetricSettings

Settings for Count Distinct Metrics.

<ParamField path="filterSql" type="String">
  Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

  You can provide the filters in the form of SQL.
</ParamField>

<ParamField path="dimension" type="Dimension" required>
  The Dimension where the count distinct operation is going to be performed.

  <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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </Expandable>
  </Expandable>
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="filters" type="[Filter!]" deprecated>
    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

    <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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## AverageMetricSettings

Settings for Average Metrics.

<ParamField path="filterSql" type="String">
  Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

  You can provide the filters in the form of SQL.
</ParamField>

<ParamField path="measure" type="Dimension" required>
  The Dimension to be averaged.

  <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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </Expandable>
  </Expandable>
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="filters" type="[Filter!]" deprecated>
    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

    <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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## MinMetricSettings

Settings for Min Metrics.

<ParamField path="filterSql" type="String">
  Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

  You can provide the filters in the form of SQL.
</ParamField>

<ParamField path="measure" type="Dimension" required>
  The Dimension to select the minimum from.

  <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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </Expandable>
  </Expandable>
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="filters" type="[Filter!]" deprecated>
    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

    <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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## MaxMetricSettings

Settings for Max Metrics.

<ParamField path="filterSql" type="String">
  Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

  You can provide the filters in the form of SQL.
</ParamField>

<ParamField path="measure" type="Dimension" required>
  The Dimension to select the maximum from.

  <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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </Expandable>
  </Expandable>
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="filters" type="[Filter!]" deprecated>
    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

    <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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## CustomMetricSettings

Settings for Custom Metrics.

<ParamField path="filterSql" type="String">
  Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

  You can provide the filters in the form of SQL.
</ParamField>

<ParamField path="expression" type="String" required>
  The expression that defines the aggregation function for this Metric.
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="filters" type="[Filter!]" deprecated>
    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the `filters` property on the `timeSeriesInput`, `counterInput`, or `leaderboardInput` objects. There is no need to add `filters` to be able to filter at query time.

    <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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## MetricResponse

The result of a mutation which creates or modifies a Metric.

<ParamField path="metric" type="Metric">
  The Metric which was created or modified.

  <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>

## 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>

## 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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL the query executed.
    </ParamField>
  </Expandable>
</ParamField>

## 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>

## 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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL the query executed.
    </ParamField>
  </Expandable>
</ParamField>

## 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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL the query executed.
    </ParamField>
  </Expandable>
</ParamField>

## 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.

  <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="status" type="QueryStatus" required>
  The Query status.

  <Expandable title="QueryStatus">
    The Query status.

    <ParamField path=" ">
      * `COMPLETED`: The Query was completed succesfully.
      * `ERROR`: The Query experienced an error.
      * `TIMED_OUT`: The Query timed out.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="type" type="QueryType" required>
  The Query type.

  <Expandable title="QueryType">
    The Query type.

    <ParamField path=" ">
      * `METRIC`: Indicates a Metric Query.
      * `STATS`: Indicates a Dimension Stats Query.
      * `REPORT`: Indicates a Report Query.
      * `RECORDS`: Indicates a Record Table Query.
      * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
      * `SQL`: Indicates a SQL Query.
      * `TOP_VALUES`: Indicates a Top Values Query.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="subtype" type="QuerySubtype">
  The Query subtype.

  <Expandable title="QuerySubtype">
    The Query subtype.

    <ParamField path=" ">
      * `COUNTER`: Indicates a Metric counter Query.
      * `TIME_SERIES`: Indicates a Metric time series Query.
      * `LEADERBOARD`: Indicates a Metric leaderboard Query.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="sql" type="String" required>
  The SQL the query executed.
</ParamField>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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>

        <Expandable title="DimensionStatistics">
          Statistics about a particular Dimension.

          <ParamField path="uniqueValues" type="[String!]">
            An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

            ### Arguments

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

          <ParamField path="min" type="String">
            The minimum value of the Dimension.
          </ParamField>

          <ParamField path="max" type="String">
            The maximum value of the Dimension.
          </ParamField>

          <ParamField path="average" type="String">
            The average value of the Dimension. Empty for non-numeric Dimensions.
          </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>
    </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>

## BoosterResponse

The result of a mutation which creates or modifies a Booster.

<ParamField path="booster" type="Booster">
  The Booster which was created or modified.

  <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

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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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>

## PolicyResponse

The result of a mutation which creates or modifies a Policy.

<ParamField path="policy" type="Policy">
  The Policy which was created or modified.

  <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>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## RequestDeleteResponse

The response returned by the Deletion Job.

<ParamField path="job" type="DeletionJob" required>
  The Deletion Job that was just created.

  <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>

## DeletionJobResponse

The response returned by the Deletion Job.

<ParamField path="job" type="DeletionJob" required>
  The Deletion Job that was just created.

  <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

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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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>

## AddColumnToDataPoolJobResponse

The response returned by the Add Column Job.

<ParamField path="job" type="AddColumnToDataPoolJob" required>
  The AddColumnToDataPool Job that was just created.

  <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>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## UpdateDataPoolRecordsJobResponse

The response returned by the Update Data Pool Records Job.

<ParamField path="job" type="UpdateDataPoolRecordsJob" required>
  The UpdateDataPoolRecords Job that was just created.

  <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>

## 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.

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

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </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.

        <Expandable title="FilterOperator">
          The available Filter operators.

          <ParamField path=" ">
            * `EQUALS`:  Selects values that are equal to the specified value.
            * `NOT_EQUALS`:  Selects values that are not equal to the specified value.
            * `GREATER_THAN`:  Selects values that are greater than the specified value.
            * `GREATER_THAN_OR_EQUAL_TO`:  Selects values that are greater or equal to the specified value.
            * `LESS_THAN`:  Selects values that are less than the specified value.
            * `LESS_THAN_OR_EQUAL_TO`:  Selects values that are less or equal to the specified value.
            * `IS_NULL`:  Selects values that are null. This operator does not accept a value.
            * `IS_NOT_NULL`:  Selects values that are not null. This operator does not accept a value.
            * `LIKE`:  Selects values that match the specified pattern.
            * `NOT_LIKE`:  "Selects values that do not match the specified pattern.
          </ParamField>
        </Expandable>
      </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>

## DataPoolAccessPolicyResponse

<ParamField path="dataPoolAccessPolicy" type="DataPoolAccessPolicy" required>
  The Data Pool Access Policy.

  <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>

<ParamField path="createEnvironment" type="EnvironmentResponse" required>
  Creates an Environment and returns the newly created Environment (or an error if creating the Environment fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateEnvironmentInput" required>
    <Expandable title="CreateEnvironmentInput">
      The fields for creating an Environment.

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

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

  <Expandable title="EnvironmentResponse">
    The result of a mutation which creates or modifies an Environment.

    <ParamField path="environment" type="Environment">
      The Environment which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyEnvironment" type="EnvironmentResponse" required>
  Modifies an Environment with the provided fields. If any of the optional fields are omitted, those properties will be unchanged on the Environment.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyEnvironmentInput" required>
    <Expandable title="ModifyEnvironmentInput">
      The fields for modifying an Environment.

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

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

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

  <Expandable title="EnvironmentResponse">
    The result of a mutation which creates or modifies an Environment.

    <ParamField path="environment" type="Environment">
      The Environment which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="deleteEnvironment" type="ID">
  Deletes a Environment by ID and returns its ID if the Environment was deleted successfully.

  ### Arguments

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

<ParamField path="createDataPoolAccessPolicy" type="DataPoolAccessPolicyResponse" required>
  Creates a Data Pool Access Policy for the specified Data Pool.

  ### Arguments

  <ParamField notPatch path="input" type="CreateDataPoolAccessPolicyInput" required>
    <Expandable title="CreateDataPoolAccessPolicyInput">
      <ParamField path="uniqueName" type="String">
        The Data Pool Access Policy's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="dataPool" type="ID" required>
        The Data Pool to which the Access Policy belongs.
      </ParamField>

      <ParamField path="columns" type="[String!]" required>
        Columns that the Access Policy makes available for querying.

        If set to `["*"]`, all columns will be 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>

      <Expandable title="Deprecated Fields">
        <ParamField path="rows" type="[FilterInput!]" deprecated>
          Row-level filters that the Access Policy applies before executing queries.

          <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>

  <Expandable title="DataPoolAccessPolicyResponse">
    <ParamField path="dataPoolAccessPolicy" type="DataPoolAccessPolicy" required>
      The Data Pool Access Policy.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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>

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

<ParamField path="modifyDataPoolAccessPolicy" type="DataPoolAccessPolicyResponse" required>
  Modifies a Data Pool Access Policy with the provided unique name, description, columns and rows. If any of the optional arguments are omitted, those properties will be unchanged on the Data Pool Access Policy.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyDataPoolAccessPolicyInput" required>
    <Expandable title="ModifyDataPoolAccessPolicyInput">
      <ParamField path="id" type="ID" required />

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

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

      <ParamField path="columns" type="[String!]">
        Columns that the Access Policy makes available for querying. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="filterSql" type="String">
        Row-level filters that the Access Policy applies before executing queries, in the form of SQL. If not provided this property will not be modified.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="rows" type="[FilterInput!]" deprecated>
          Row-level filters that the Access Policy applies before executing queries. If not provided this property will not be modified.

          <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>

  <Expandable title="DataPoolAccessPolicyResponse">
    <ParamField path="dataPoolAccessPolicy" type="DataPoolAccessPolicy" required>
      The Data Pool Access Policy.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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>

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

<ParamField path="deleteDataPoolAccessPolicy" type="ID">
  Deletes a Data Pool Access Policy by ID and returns its ID if the Data Pool Access Policy was deleted successfully.

  ### Arguments

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

<ParamField path="assignDataPoolAccessPolicyToApplication" type="ID">
  Assign a Data Pool Access Policy to an Application.

  The Data Pool Access Policy will restrict the Data Pool rows and columns that the Application
  can query. If the Data Pool has `accessControlEnabled` set to true, the Application
  *must* have a Data Pool Access Policy assigned in order to query the Data Pool.

  An Application can have at most one Data Pool Access Policy assigned for a given Data Pool. If
  an Application already has a Data Pool Access Policy for a given Data Pool, and you call this
  mutation with another Data Pool Access Policy for the same Data Pool, the Application's Data Pool Access
  Policy will be replaced.

  ### Arguments

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

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

<ParamField path="unAssignDataPoolAccessPolicyFromApplication" type="ID">
  Unassign a Data Pool Access Policy from an Application.

  Once unassigned, whether the Application will be able to query the Data Pool is
  controlled by the Data Pool's `accessControlEnabled` property. If
  `accessControlEnabled` is true, the Application will no longer be able to query the
  Data Pool. If `accessControlEnabled` is false, the Application will be able to query
  *all* data in the Data Pool, unrestricted.

  ### Arguments

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

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

<ParamField path="createApplication" type="ApplicationOrFailureResponse">
  Creates a new Application and returns the newly created Application (or an error message if creating the Application fails).

  Required scopes:

  * APPLICATION\_ADMIN

  ```graphql theme={"system"}
  mutation {
    createApplication(
      input: {
        uniqueName: "example_sample_application"
        description: "My dashboard app"
        scopes: [DATA_POOL_QUERY]
        propeller: P1_X_SMALL
      }
    ) {
      ... on ApplicationResponse {
        application {
          id
          uniqueName
        }
      }
      ... on FailureResponse {
        error {
          code
          message
        }
      }
    }
  }
  ```

  ### Arguments

  <ParamField notPatch path="input" type="createApplicationInput" required>
    <Expandable title="createApplicationInput">
      The fields for creating an Application.

      <ParamField path="uniqueName" type="String">
        The Application's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="propeller" type="Propeller">
        The Application's Propeller. If no Propeller is provided, Propel will set the Propeller to `P1_X_SMALL`.

        <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!]">
        The Application's API authorization scopes. If specified, at least one scope must be provided; otherwise, all scopes will be granted to the Application by default.

        <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>
    </Expandable>
  </ParamField>

  <Expandable title="ApplicationOrFailureResponse">
    The result of a mutation which creates or modifies an Application.

    If successful, an `ApplicationResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="ApplicationOrFailureResponse" type="ApplicationResponse | FailureResponse">
      <Expandable title="ApplicationResponse">
        The result of a mutation which creates or modifies an Application.

        <ParamField path="application" type="Application">
          The Application which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="modifyApplication" type="ApplicationOrFailureResponse">
  Modifies an Application with the provided unique name, description, Propeller, and scopes. If any of the optional arguments are omitted, those properties will be unchanged on the Application.

  ### Arguments

  <ParamField notPatch path="input" type="modifyApplicationInput" required>
    <Expandable title="modifyApplicationInput">
      The fields for modifying an Application.

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Application to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

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

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

      <ParamField path="propeller" type="Propeller">
        The Application's new 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!]">
        The Application's new API authorization 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>
    </Expandable>
  </ParamField>

  <Expandable title="ApplicationOrFailureResponse">
    The result of a mutation which creates or modifies an Application.

    If successful, an `ApplicationResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="ApplicationOrFailureResponse" type="ApplicationResponse | FailureResponse">
      <Expandable title="ApplicationResponse">
        The result of a mutation which creates or modifies an Application.

        <ParamField path="application" type="Application">
          The Application which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="deleteApplication" type="ID">
  Deletes an Application by ID and returns its ID if the Application was deleted successfully.

  ### Arguments

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

<ParamField path="deleteApplicationByName" type="ID">
  Deletes an Application by unique name and returns its ID if the Application was deleted successfully.

  ### Arguments

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

<ParamField path="createSnowflakeDataSource" type="DataSourceOrFailureResponse">
  Creates a new Data Source from the given Snowflake database using the specified Snowflake account, warehouse, schema, username, and role.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="createSnowflakeDataSourceInput" required>
    <Expandable title="createSnowflakeDataSourceInput">
      The fields for creating a Snowflake Data Source.

      <ParamField path="uniqueName" type="String">
        The Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

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

        <Expandable title="SnowflakeConnectionSettingsInput">
          The fields for creating a Snowflake Data Source's connection settings.

          <ParamField path="account" type="String" required>
            The Snowflake account. Only include the part before the "snowflakecomputing.com" part of your Snowflake URL (make sure you are in classic console, not Snowsight). For AWS-based accounts, this looks like "znXXXXX.us-east-2.aws". For Google Cloud-based accounts, this looks like "ffXXXXX.us-central1.gcp".
          </ParamField>

          <ParamField path="database" type="String" required>
            The Snowflake database name.
          </ParamField>

          <ParamField path="warehouse" type="String" required>
            The Snowflake warehouse name. It should be "PROPELLING" if you used the default name in the setup script.
          </ParamField>

          <ParamField path="schema" type="String" required>
            The Snowflake schema.
          </ParamField>

          <ParamField path="username" type="String" required>
            The Snowflake username. It should be "PROPEL" if you used the default name in the setup script.
          </ParamField>

          <ParamField path="password" type="String" required>
            The Snowflake password.
          </ParamField>

          <ParamField path="role" type="String" required>
            The Snowflake role. It should be "PROPELLER" if you used the default name in the setup script.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceOrFailureResponse">
    The result of a mutation which creates or modifies a DataSource.

    If successful, an `DataSourceResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="DataSourceOrFailureResponse" type="DataSourceResponse | FailureResponse">
      <Expandable title="DataSourceResponse">
        The result of a mutation which creates or modifies a Data Source.

        <ParamField path="dataSource" type="DataSource">
          The Data Source which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="modifySnowflakeDataSource" type="DataSourceOrFailureResponse">
  Modifies a Data Source with the provided unique name, description, and connection settings. If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="modifySnowflakeDataSourceInput" required>
    <Expandable title="modifySnowflakeDataSourceInput">
      The fields for modifying a Snowflake Data Source.

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

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

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

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

        <Expandable title="PartialSnowflakeConnectionSettingsInput">
          The fields for modifying a Snowflake Data Source's connection settings.

          <ParamField path="account" type="String">
            The Snowflake account. Only include the part before the "snowflakecomputing.com" part of your Snowflake URL (make sure you are in classic console, not Snowsight). For AWS-based accounts, this looks like "znXXXXX.us-east-2.aws". For Google Cloud-based accounts, this looks like "ffXXXXX.us-central1.gcp". If not provided this property will not be modified.
          </ParamField>

          <ParamField path="database" type="String">
            The Snowflake database name. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="warehouse" type="String">
            The Snowflake warehouse name. It should be "PROPELLING" if you used the default name in the setup script. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="schema" type="String">
            The Snowflake schema. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="username" type="String">
            The Snowflake username. It should be "PROPEL" if you used the default name in the setup script. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="password" type="String">
            The Snowflake password. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="role" type="String">
            The Snowflake role. It should be "PROPELLER" if you used the default name in the setup script. If not provided this property will not be modified.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceOrFailureResponse">
    The result of a mutation which creates or modifies a DataSource.

    If successful, an `DataSourceResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="DataSourceOrFailureResponse" type="DataSourceResponse | FailureResponse">
      <Expandable title="DataSourceResponse">
        The result of a mutation which creates or modifies a Data Source.

        <ParamField path="dataSource" type="DataSource">
          The Data Source which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="reconnectDataSource" type="DataSource">
  Attempts to reconnect a Data Source. The mutation then returns the Data Source object.

  ### Arguments

  <ParamField notPatch path="input" type="idOrUniqueName" required>
    <Expandable title="idOrUniqueName">
      The ID or unique name input.

      If both ID and unique name are provided, the ID will take precedence.

      <ParamField path="id" type="String">
        The unique identifier of the object.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The unique name of the object.
      </ParamField>
    </Expandable>
  </ParamField>

  <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>

<ParamField path="introspectTables" type="TableIntrospection">
  Introspects the tables in a Data Source.

  Returns the tables along with when they were last cached from the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="idOrUniqueName" required>
    <Expandable title="idOrUniqueName">
      The ID or unique name input.

      If both ID and unique name are provided, the ID will take precedence.

      <ParamField path="id" type="String">
        The unique identifier of the object.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The unique name of the object.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="TableIntrospection">
    The table introspection object.

    When setting up a Data Source, Propel may need to introspect tables in order to determine what tables and columns are available to create Data Pools from. The table introspection represents the lifecycle of this operation (whether it's in-progress, succeeded, or failed) and the resulting tables and columns. These will be captured as table and column objects, respectively.

    <ParamField path="dataSource" type="DataSource" required>
      The Data Source the table introspection was performed for.
      See <a href="/docs/management-api/types#datasource">DataSource</a>
    </ParamField>

    <ParamField path="status" type="TableIntrospectionStatus" required>
      The status of the table introspection.

      <Expandable title="TableIntrospectionStatus">
        The status of a table introspection.

        <ParamField path=" ">
          * `NOT_STARTED`: The table introspection has not started.
          * `STARTED`: The table introspection has started.
          * `SUCCEEDED`: The table introspection succeeded.
          * `FAILED`: The table introspection failed.
        </ParamField>
      </Expandable>
    </ParamField>

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

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

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

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

    <ParamField path="numTables" type="Int">
      The number of tables introspected.
    </ParamField>

    <ParamField path="tables" type="TableConnection">
      The tables introspected.

      ### 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>
  </Expandable>
</ParamField>

<ParamField path="testDataSource" type="DataSourceOrFailureResponse">
  Tests that Propel can actually connect to the data warehouse. Updates the status.

  ### Arguments

  <ParamField notPatch path="input" type="idOrUniqueName" required>
    <Expandable title="idOrUniqueName">
      The ID or unique name input.

      If both ID and unique name are provided, the ID will take precedence.

      <ParamField path="id" type="String">
        The unique identifier of the object.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The unique name of the object.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceOrFailureResponse">
    The result of a mutation which creates or modifies a DataSource.

    If successful, an `DataSourceResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="DataSourceOrFailureResponse" type="DataSourceResponse | FailureResponse">
      <Expandable title="DataSourceResponse">
        The result of a mutation which creates or modifies a Data Source.

        <ParamField path="dataSource" type="DataSource">
          The Data Source which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="deleteDataSource" type="ID">
  Deletes a Data Source by ID and returns its ID if the Data Source was deleted successfully.

  ### Arguments

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

<ParamField path="deleteDataSourceByName" type="ID">
  Deletes a Data Source by unique name and returns its ID if the Data Source was deleted successfully.

  ### Arguments

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

<ParamField path="createDataPoolV2" type="DataPoolResponse">
  Creates a new Data Pool.

  Returns the newly created Data Pool or an error message if it fails.

  ```graphql theme={"system"}
  mutation {
    createDataPoolV2(input: {
      dataSource: "DSOXXXXX"
      table: "tacosoft_sales_analytics"
      timestamp: { columnName: "timestamp" }
      columns: [
        {
          columnName: "timestamp",
          type: TIMESTAMP,
          isNullable: true
        },
        {
          columnName: "order_id",
          type: STRING,
          isNullable: true
        },
        {
          columnName: "taco_name",
          type: STRING,
          isNullable: true
        },
        {
          columnName: "toppings",
          type: JSON,
          isNullable: true
        },
        {
          columnName: "quantity",
          type: INT32,
          isNullable: true
        },
        {
          columnName: "taco_unit_price",
          type: INT32,
          isNullable: true
        },
        {
          columnName: "taco_total_price",
          type: INT32,
          isNullable: true
        }
      ]
    }) {
    dataPool {
      id
      uniqueName
      tableSettings {
        orderBy
        engine {
          ... on MergeTreeTableEngine {
            type
          }
          ... on ReplacingMergeTreeTableEngine {
            type
            ver
          }
          ... on SummingMergeTreeTableEngine {
            type
            columns
          }
          ... on AggregatingMergeTreeTableEngine {
            type
          }
          ... on PostgreSqlTableEngine {
            type
          }
        }
      }
    }
  }
  }
  ```

  ### Arguments

  <ParamField notPatch path="input" type="CreateDataPoolInputV2" required>
    <Expandable title="CreateDataPoolInputV2">
      The fields for creating a Data Pool.

      <ParamField path="dataSource" type="ID">
        The Data Source that will be used to create the Data Pool.
      </ParamField>

      <ParamField path="table" type="String">
        The table that the Data Pool will sync from.
      </ParamField>

      <ParamField path="timestamp" type="TimestampInput">
        The table's primary timestamp column.

        Propel uses the primary timestamp to order and partition your data in Data Pools. It's part of what makes Propel
        fast for larger data sets. It will also serve as the time dimension for your Metrics.

        If you do not provide a primary timestamp column, you will need to supply an alternate timestamp when querying your
        Data Pool or its Metrics using the TimeRangeInput.

        <Expandable title="TimestampInput">
          The fields to specify the 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>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Data Pool's unique name. If not specified, Propel will set the ID as the unique name.
      </ParamField>

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

      <ParamField path="columns" type="[DataPoolColumnInput!]">
        The list of columns.

        <Expandable title="DataPoolColumnInput">
          <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">
            The ClickHouse type to use when `type` is set to `CLICKHOUSE`.
          </ParamField>

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

      <ParamField path="syncing" type="DataPoolSyncingInput">
        The Data Pool's syncing settings.

        <Expandable title="DataPoolSyncingInput">
          The fields for modifying the Data Pool syncing.

          <ParamField path="interval" type="DataPoolSyncInterval" required>
            See <a href="/docs/management-api/enums#datapoolsyncinterval">DataPoolSyncInterval</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="accessControlEnabled" type="Boolean">
        Enables or disables access control for the Data Pool.

        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="tableSettings" type="TableSettingsInput">
        Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
        default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if any. You can override these
        defaults in order to specify a custom table engine, custom ORDER BY, etc.

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

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

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

            This field is optional. A default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if specified.

            See <a href="/docs/management-api/inputs#tableengineinput">TableEngineInput</a>
          </ParamField>

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

            This field is optional. A default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if specified.
          </ParamField>

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

            This field is optional. A default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if specified.
          </ParamField>

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

            This field is optional. A default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if specified.
          </ParamField>

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

      <Expandable title="Deprecated Fields">
        <ParamField path="tenant" type="TenantInput" deprecated>
          The Data Pool's optional tenant ID column. The tenant ID column is used to control access to your data with access policies.

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

          <Expandable title="TenantInput">
            The fields to specify the 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>
          </Expandable>
        </ParamField>

        <ParamField path="uniqueId" type="UniqueIdInput" 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="UniqueIdInput">
            The fields to specify 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.

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

  <Expandable title="DataPoolResponse">
    The result of a mutation which creates or modifies a Data Pool.

    <ParamField path="dataPool" type="DataPool">
      The Data Pool which was created or modified.

      <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>

<ParamField path="modifyDataPool" type="DataPoolOrFailureResponse">
  Modifies a Data Pool with the provided unique name, description, and data retention time. If any of the optional arguments are omitted, those properties will be unchanged on the Data Pool.

  ### Arguments

  <ParamField notPatch path="input" type="modifyDataPoolInput" required>
    <Expandable title="modifyDataPoolInput">
      The fields for modifying a Data Pool.

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Data Pool to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

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

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

      <ParamField path="dataRetentionInDays" type="Int">
        The Data Pool's new data retention in days.
      </ParamField>

      <ParamField path="syncing" type="DataPoolSyncingInput">
        The Data Pool's new syncing settings.

        <Expandable title="DataPoolSyncingInput">
          The fields for modifying the Data Pool syncing.

          <ParamField path="interval" type="DataPoolSyncInterval" required>
            See <a href="/docs/management-api/enums#datapoolsyncinterval">DataPoolSyncInterval</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timestamp" type="TimestampInput">
        The table's primary timestamp column.

        Propel uses the primary timestamp to order and partition your data in Data Pools. It's part of what makes Propel
        fast for larger data sets. It will also serve as the time dimension for your Metrics.

        If you do not provide a primary timestamp column, you will need to supply an alternate timestamp when querying your
        Data Pool or its Metrics using the TimeRangeInput.

        <Expandable title="TimestampInput">
          The fields to specify the 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>
        </Expandable>
      </ParamField>

      <ParamField path="accessControlEnabled" type="Boolean">
        Enables or disables access control for the Data Pool.

        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>
    </Expandable>
  </ParamField>

  <Expandable title="DataPoolOrFailureResponse">
    The result of a mutation which creates or modifies a Data Pool.

    If successful, an `DataPoolResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="DataPoolOrFailureResponse" type="DataPoolResponse | FailureResponse">
      <Expandable title="DataPoolResponse">
        The result of a mutation which creates or modifies a Data Pool.

        <ParamField path="dataPool" type="DataPool">
          The Data Pool which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="retryDataPoolSetup" type="DataPool">
  Retries to set up the Data Pool identified by the given ID.

  ### Arguments

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

  <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>

<ParamField path="retryDataPoolSetupByName" type="DataPool">
  Retries to set up the Data Pool identified by the given unique name.

  ### Arguments

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

  <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>

<ParamField path="inspectDataPoolSchema" type="DataPoolOrFailureResponse">
  Extracts the schema from the table and updates the schema object.

  ### Arguments

  <ParamField notPatch path="input" type="idOrUniqueName" required>
    <Expandable title="idOrUniqueName">
      The ID or unique name input.

      If both ID and unique name are provided, the ID will take precedence.

      <ParamField path="id" type="String">
        The unique identifier of the object.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The unique name of the object.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataPoolOrFailureResponse">
    The result of a mutation which creates or modifies a Data Pool.

    If successful, an `DataPoolResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="DataPoolOrFailureResponse" type="DataPoolResponse | FailureResponse">
      <Expandable title="DataPoolResponse">
        The result of a mutation which creates or modifies a Data Pool.

        <ParamField path="dataPool" type="DataPool">
          The Data Pool which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="testDataPool" type="DataPoolOrFailureResponse">
  Tests that Propel has access to the Data Pool's table in its corresponding Data Source and will be able to Sync data. Updates the status.

  ### Arguments

  <ParamField notPatch path="input" type="idOrUniqueName" required>
    <Expandable title="idOrUniqueName">
      The ID or unique name input.

      If both ID and unique name are provided, the ID will take precedence.

      <ParamField path="id" type="String">
        The unique identifier of the object.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The unique name of the object.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataPoolOrFailureResponse">
    The result of a mutation which creates or modifies a Data Pool.

    If successful, an `DataPoolResponse` will be returned; otherwise, a
    `FailureResponse` will be returned.

    <ParamField path="DataPoolOrFailureResponse" type="DataPoolResponse | FailureResponse">
      <Expandable title="DataPoolResponse">
        The result of a mutation which creates or modifies a Data Pool.

        <ParamField path="dataPool" type="DataPool">
          The Data Pool which was created or modified.

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

      <Expandable title="FailureResponse">
        The failure response object.

        <ParamField path="error" type="Error" required>
          The error that caused the failure.

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

<ParamField path="deleteDataPool" type="ID">
  Deletes a Data Pool by ID and returns its ID if the Data Pool was deleted successfully.

  ### Arguments

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

<ParamField path="deleteDataPoolByName" type="ID">
  Deletes a Data Pool by unique name and returns its ID if the Data Pool was deleted successfully.

  ### Arguments

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

<ParamField path="disableSyncing" type="DataPool">
  Disables syncing of a Data Pool.

  ### Arguments

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

  <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>

<ParamField path="enableSyncing" type="DataPool">
  Re-enables syncing of a Data Pool.

  ### Arguments

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

  <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>

<ParamField path="createCountMetric" type="MetricResponse">
  Creates a new Count Metric from the given Data Pool and returns the newly created Metric (or an error message if creating the Metric fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateCountMetricInput">
    <Expandable title="CreateCountMetricInput">
      The fields for creating a new Count Metric.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that powers this Metric.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Metric's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="filterSql" type="String">
        The Metric's Filters, in the form of SQL. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be included.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

        <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>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's Filters. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be 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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="createCountDistinctMetric" type="MetricResponse">
  Creates a new Count Distinct Metric from the given Data Pool and returns the newly created Metric (or an error message if creating the Metric fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateCountDistinctMetricInput">
    <Expandable title="CreateCountDistinctMetricInput">
      The fields for creating a new Count Distinct Metric.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that powers this Metric.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Metric's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="filterSql" type="String">
        The Metric's Filters, in the form of SQL. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be included.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

        <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="dimension" type="DimensionInput" required>
        The Dimension over which the count distinct operation is going to be performed.

        <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>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's Filters. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be 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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="createSumMetric" type="MetricResponse">
  Creates a new Sum Metric from the given Data Pool and returns the newly created Metric (or an error message if creating the Metric fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateSumMetricInput">
    <Expandable title="CreateSumMetricInput">
      The fields for creating a new Sum Metric.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that powers this Metric.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Metric's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="filterSql" type="String">
        The Metric's Filters, in the form of SQL. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be included.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

        <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="measure" type="DimensionInput" required>
        The column to be summed.

        <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>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's Filters. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be 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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="createAverageMetric" type="MetricResponse">
  Creates a new Average Metric from the given Data Pool and returns the newly created Metric (or an error message if creating the Metric fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateAverageMetricInput">
    <Expandable title="CreateAverageMetricInput">
      The fields for creating a new Average Metric.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that powers this Metric.
      </ParamField>

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

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

      <ParamField path="filterSql" type="String">
        The Metric's Filters, in the form of SQL. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be included.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

        <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="measure" type="DimensionInput" required>
        The column to be averaged.

        <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>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's Filters. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be 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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="createMinMetric" type="MetricResponse">
  Creates a new Min Metric from the given Data Pool and returns the newly created Metric (or an error message if creating the Metric fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateMinMetricInput">
    <Expandable title="CreateMinMetricInput">
      The fields for creating a new Minimum (Min) Metric.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that powers this Metric.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Metric's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="filterSql" type="String">
        The Metric's Filters, in the form of SQL. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be included.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

        <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="measure" type="DimensionInput" required>
        <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>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's Filters. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be 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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="createMaxMetric" type="MetricResponse">
  Creates a new Max Metric from the given Data Pool and returns the newly created Metric (or an error message if creating the Metric fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateMaxMetricInput">
    <Expandable title="CreateMaxMetricInput">
      The fields for creating a new Maximum (Max) Metric.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that powers this Metric.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Metric's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="filterSql" type="String">
        The Metric's Filters, in the form of SQL. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be included.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

        <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="measure" type="DimensionInput" required>
        The column to calculate the maximum from.

        <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>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's Filters. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be 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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="createCustomMetric" type="MetricResponse">
  Creates a new Custom Metric from the given Data Pool and returns the newly created Metric (or an error message if creating the Metric fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateCustomMetricInput">
    <Expandable title="CreateCustomMetricInput">
      The fields for creating a new Custom Metric.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that powers this Metric.
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Metric's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>

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

      <ParamField path="filterSql" type="String">
        The Metric's Filters, in the form of SQL. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be included.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

        <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="expression" type="String" required>
        The expression that defines the aggregation function for this Metric.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's Filters. Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Filters are present, all records will be 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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="modifyMetric" type="MetricResponse">
  Modifies a Metric by ID with the provided unique name, description, and Dimensions. If any of the optional arguments are omitted, those properties will be unchanged on the Metric.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyMetricInput">
    <Expandable title="ModifyMetricInput">
      The fields for modifying a Metric.

      <ParamField path="metric" type="ID" required>
        The ID of the Metric to modify.
      </ParamField>

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

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

      <ParamField path="dimensions" type="[DimensionInput!]">
        The Metric's new Dimensions. Used to add or remove Dimensions.

        <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="filterSql" type="String">
        The Metric's new Filters, in the form of SQL. Used to add or remove Metric Filters.
      </ParamField>

      <ParamField path="accessControlEnabled" type="Boolean">
        Enables or disables access control for the Metric.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The Metric's new Filters. Used to add or remove Metric Filters.

          <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>

  <Expandable title="MetricResponse">
    The result of a mutation which creates or modifies a Metric.

    <ParamField path="metric" type="Metric">
      The Metric which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </ParamField>

        <ParamField path="timestamp" type="Dimension">
          The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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.

          See <a href="/docs/management-api/enums#metrictype">MetricType</a>
        </ParamField>

        <ParamField path="settings" type="MetricSettings" required>
          The settings for the Metric. The settings are specific to the Metric's type.

          See <a href="/docs/management-api/unions#metricsettings">MetricSettings</a>
        </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>

            See <a href="/docs/management-api/types#dimension">Dimension</a>
          </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>
              See <a href="/docs/management-api/inputs#counterinput">CounterInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#counterresponse">CounterResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#timeseriesinput">TimeSeriesInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#timeseriesresponse">TimeSeriesResponse</a>
          </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>
              See <a href="/docs/management-api/inputs#leaderboardinput">LeaderboardInput</a>
            </ParamField>

            See <a href="/docs/management-api/types#leaderboardresponse">LeaderboardResponse</a>
          </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>
  </Expandable>
</ParamField>

<ParamField path="migrateMetric" type="Metric">
  Migrates a Metric from one Data Pool to another.

  ### Arguments

  <ParamField notPatch path="input" type="MigrateMetricInput" required>
    <Expandable title="MigrateMetricInput">
      The fields for migrating a Metric's Data Pool.

      <ParamField path="metricId" type="ID" required>
        The Metric that is going to be migrated.
      </ParamField>

      <ParamField path="newDataPoolId" type="ID" required>
        The DataPool to which the Metric is going to be migrated.
      </ParamField>
    </Expandable>
  </ParamField>

  <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>

<ParamField path="deleteMetric" type="ID">
  Deletes a Metric by ID and returns its ID if the Metric was deleted successfully.

  ### Arguments

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

<ParamField path="deleteMetricByName" type="ID">
  Deletes a Metric by unique name and returns its ID if the Metric was deleted successfully.

  ### Arguments

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

<ParamField path="createBooster" type="BoosterResponse">
  Creates a new Booster for the given Metric and returns the newly created Booster.

  A Booster significantly improves the query performance for a Metric.

  ### Arguments

  <ParamField notPatch path="input" type="CreateBoosterInput" required>
    <Expandable title="CreateBoosterInput">
      The fields for creating a new Booster.

      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="metric" type="ID" required>
        The Booster's Metric.
      </ParamField>

      <ParamField path="dimensions" type="[DimensionInput!]" required>
        Dimensions to include in the Booster.

        Follow these guidelines when specifying Dimensions:

        1. Specify Dimensions in descending order of importance for filtering and in ascending order of cardinality.
        2. Take into consideration hierarchical relationships as well (for example, a "country" Dimension should appear before a "state" Dimension).

        <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>
    </Expandable>
  </ParamField>

  <Expandable title="BoosterResponse">
    The result of a mutation which creates or modifies a Booster.

    <ParamField path="booster" type="Booster">
      The Booster which was created or modified.

      <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.

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

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

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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).

          See <a href="/docs/management-api/enums#boosterstatus">BoosterStatus</a>
        </ParamField>

        <ParamField path="error" type="Error">
          If the Booster fails during the optimization process, this field includes a descriptive
          error message.

          See <a href="/docs/management-api/types#error">Error</a>
        </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.

          See <a href="/docs/management-api/types#dimension">Dimension</a>
        </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>
  </Expandable>
</ParamField>

<ParamField path="deleteBooster" type="ID">
  Deletes a Booster by ID and then returns the same ID if the Booster was deleted successfully.

  A Booster significantly improves the query performance for a Metric.

  ### Arguments

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

<ParamField path="createDeletionJob" type="DeletionJobResponse" required>
  Schedules a new Deletion Job on the specified Data Pool.

  ### Arguments

  <ParamField notPatch path="input" type="CreateDeletionJobInput" required>
    <Expandable title="CreateDeletionJobInput">
      The fields for creating a Deletion Job.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that is going to get the data deleted
      </ParamField>

      <ParamField path="filterSql" type="String">
        The filters that will be used for deleting data, in the form of SQL. Data matching these filters will be deleted.
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The list of filters that will be used for deleting data. Data matching these filters will be deleted.

          <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>

  <Expandable title="DeletionJobResponse">
    The response returned by the Deletion Job.

    <ParamField path="job" type="DeletionJob" required>
      The Deletion Job that was just created.

      <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.

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

        <ParamField path="environment" type="Environment" required>
          Environment to which the Deletion Job belongs.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/enums#jobstatus">JobStatus</a>
        </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.

          See <a href="/docs/management-api/types#error">Error</a>
        </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>

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

<ParamField path="createAddColumnToDataPoolJob" type="AddColumnToDataPoolJobResponse" required>
  Schedules a new AddColumnToDataPoolJob on the specified Data Pool.

  ### Arguments

  <ParamField notPatch path="input" type="CreateAddColumnToDataPoolJobInput" required>
    <Expandable title="CreateAddColumnToDataPoolJobInput">
      The fields for creating an Add Column Job.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool to which the column will be added.
      </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>
    </Expandable>
  </ParamField>

  <Expandable title="AddColumnToDataPoolJobResponse">
    The response returned by the Add Column Job.

    <ParamField path="job" type="AddColumnToDataPoolJob" required>
      The AddColumnToDataPool Job that was just created.

      <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.

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

        <ParamField path="environment" type="Environment" required>
          Environment to which the AddColumnToDataPoolJob belongs.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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.

          See <a href="/docs/management-api/enums#jobstatus">JobStatus</a>
        </ParamField>

        <ParamField path="columnName" type="String" required>
          Name of the new column.
        </ParamField>

        <ParamField path="columnType" type="ColumnType" required>
          Type of the new column.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </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.

          See <a href="/docs/management-api/types#error">Error</a>
        </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>
  </Expandable>
</ParamField>

<ParamField path="createUpdateDataPoolRecordsJob" type="UpdateDataPoolRecordsJobResponse" required>
  Schedules a new UpdateDataPoolRecords Job on the specified Data Pool.

  ### Arguments

  <ParamField notPatch path="input" type="CreateUpdateDataPoolRecordsJobInput" required>
    <Expandable title="CreateUpdateDataPoolRecordsJobInput">
      The fields for creating an Update Data Pool Records Job.

      <ParamField path="dataPool" type="ID" required>
        The Data Pool that is going to get its records updated.
      </ParamField>

      <ParamField path="filterSql" type="String">
        The filters that will be used for updating records, in the form of SQL. Records matching these filters will be updated.
      </ParamField>

      <ParamField path="set" type="[UpdateDataPoolRecordsJobSetColumnInput!]" required>
        Describes how the job will update the records.

        <Expandable title="UpdateDataPoolRecordsJobSetColumnInput">
          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>

      <Expandable title="Deprecated Fields">
        <ParamField path="filters" type="[FilterInput!]" deprecated>
          The list of filters that will be used for updating records. Records matching these filters will be updated.

          <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>

  <Expandable title="UpdateDataPoolRecordsJobResponse">
    The response returned by the Update Data Pool Records Job.

    <ParamField path="job" type="UpdateDataPoolRecordsJob" required>
      The UpdateDataPoolRecords Job that was just created.

      <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

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

        <ParamField path="environment" type="Environment" required>
          Environment to which the UpdateDataPoolRecords Job belongs

          See <a href="/docs/management-api/types#environment">Environment</a>
        </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

          See <a href="/docs/management-api/enums#jobstatus">JobStatus</a>
        </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.

          See <a href="/docs/management-api/types#updatedatapoolrecordsjobsetcolumn">UpdateDataPoolRecordsJobSetColumn</a>
        </ParamField>

        <ParamField path="error" type="Error">
          The error that occurred while updating data, if any.

          See <a href="/docs/management-api/types#error">Error</a>
        </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>

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

<ParamField path="syncDataPool" type="Sync">
  Manually trigger a Sync for a Data Pool.

  ### Arguments

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

  <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>

<ParamField path="resyncDataPool" type="Sync">
  Manually trigger a re-Sync for a Data Pool.

  ### Arguments

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

  <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>

<ParamField path="createMaterializedView" type="MaterializedViewResponse" required>
  Creates a new Materialized View.
  Returns the newly created Materialized View (or an error message if creating the Materialized View fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateMaterializedViewInput" required>
    <Expandable title="CreateMaterializedViewInput">
      The fields for creating a Materialized View.

      <ParamField path="uniqueName" type="String">
        The Materialized View's unique name. If not specified, Propel will set the ID as the unique name.
      </ParamField>

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

      <ParamField path="sql" type="String" required>
        The SQL that the Materialized View will execute.
      </ParamField>

      <ParamField path="destination" type="CreateMaterializedViewDestinationInput" required>
        By default, a destination Data Pool with default settings will be created for the Materialized View;
        however, you can customize the destination Data Pool (or point to an existing Data Pool), by setting
        this field. Use this to target an existing Data Pool or the engine settings of a new Data Pool.

        <Expandable title="CreateMaterializedViewDestinationInput">
          The fields for targeting an existing Data Pool or a new Data Pool.

          <ParamField path="existingDataPool" type="DataPoolInput">
            If specified, the Materialized View will target an existing Data Pool.
            Ensure the Data Pool's schema is compatible with your Materialized View's SQL statement.

            See <a href="/docs/management-api/inputs#datapoolinput">DataPoolInput</a>
          </ParamField>

          <ParamField path="newDataPool" type="CreateMaterializedViewDestinationNewDataPoolInput">
            If specified, the Materialized View will create and target a new Data Pool.
            You can further customize the new Data Pool's engine settings.

            See <a href="/docs/management-api/inputs#creatematerializedviewdestinationnewdatapoolinput">CreateMaterializedViewDestinationNewDataPoolInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="backfillOptions" type="BackfillOptionsInput">
        By default, a Materialized View only applies to records added after its creation. This option allows
        to backfill all the data that was present before the Materialized View creation.

        <Expandable title="BackfillOptionsInput">
          <ParamField path="backfill" type="Boolean">
            Whether historical data should be backfilled or not
          </ParamField>

          <ParamField path="order" type="PartitionOrder">
            Defines the order in which historical data is backfilled. Defaults to `OLDEST_FIRST` if not specified.

            See <a href="/docs/management-api/enums#partitionorder">PartitionOrder</a>
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="MaterializedViewResponse">
    The result of a mutation which creates or modifies a Materialized View.

    <ParamField path="materializedView" type="MaterializedView" required>
      The Materialized View which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyMaterializedView" type="MaterializedViewResponse" required>
  Modifies a Materialized View. If any of the optional arguments are omitted, those properties will be unchanged on the Materialized View.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyMaterializedViewInput" required>
    <Expandable title="ModifyMaterializedViewInput">
      The fields for modifying a Materialized View.

      <ParamField path="id" type="ID" required>
        The ID of the Materialized View to modify.
      </ParamField>

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

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

  <Expandable title="MaterializedViewResponse">
    The result of a mutation which creates or modifies a Materialized View.

    <ParamField path="materializedView" type="MaterializedView" required>
      The Materialized View which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="deleteMaterializedView" type="ID">
  Deletes a Materialized View and returns its ID if the Materialized View was deleted successfully.
  Note that deleting a Materialized View does not delete its target Data Pool. If you want to delete its target
  Data Pool, you must use the `deleteDataPool` mutation.

  ### Arguments

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

<ParamField path="createAmazonDataFirehoseDataSource" type="DataSourceResponse" required>
  Creates a new Amazon Data Firehose Data Source from the given settings.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateAmazonDataFirehoseDataSourceInput" required>
    <Expandable title="CreateAmazonDataFirehoseDataSourceInput">
      <ParamField path="connectionSettings" type="AmazonDataFirehoseConnectionSettingsInput" required>
        The Amazon Data Firehose Data Source's connection settings

        <Expandable title="AmazonDataFirehoseConnectionSettingsInput">
          The Amazon Data Firehose Data Source's connection settings.

          <ParamField path="accessControlEnabled" type="Boolean">
            Enables or disables access control for the Data Pool.
            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="basicAuth" type="HttpBasicAuthInput" required>
            HTTP basic access authentication credentials. You must configure these same credentials to be included in the
            `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose issues requests to its custom HTTP endpoint.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="columns" type="[AmazonDataFirehoseDataSourceColumnInput!]">
            Additional columns for the table in Propel.

            See <a href="/docs/management-api/inputs#amazondatafirehosedatasourcecolumninput">AmazonDataFirehoseDataSourceColumnInput</a>
          </ParamField>

          <ParamField path="tableSettings" type="TableSettingsInput">
            Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
            default will be chosen based on the Data Pool's `timestamp` value, if any. You can override these
            defaults in order to specify a custom table engine, custom ORDER BY, etc.

            See <a href="/docs/management-api/inputs#tablesettingsinput">TableSettingsInput</a>
          </ParamField>

          <ParamField path="timestamp" type="String">
            The primary timestamp column, if any.
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The Amazon Data Firehose Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyAmazonDataFirehoseDataSource" type="DataSourceResponse" required>
  Modifies the Data Source by the ID or unique name provided with the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyAmazonDataFirehoseDataSourceInput" required>
    <Expandable title="ModifyAmazonDataFirehoseDataSourceInput">
      <ParamField path="connectionSettings" type="PartialAmazonDataFirehoseConnectionSettingsInput">
        The Amazon Data Firehose Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialAmazonDataFirehoseConnectionSettingsInput">
          The Amazon Data Firehose Data Source's connection settings.

          <ParamField path="basicAuth" type="HttpBasicAuthInput">
            HTTP basic access authentication credentials. You must configure these same credentials to be included in the
            `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose issues requests to its custom HTTP endpoint. If not provided this property will not be modified.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The Amazon Data Firehose Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Amazon Data Firehose Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Amazon Data Firehose Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createAmazonDynamoDBDataSource" type="DataSourceResponse" required>
  Creates a new Amazon DynamoDB Data Source from the given settings.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateAmazonDynamoDBDataSourceInput" required>
    <Expandable title="CreateAmazonDynamoDBDataSourceInput">
      <ParamField path="connectionSettings" type="AmazonDynamoDBConnectionSettingsInput" required>
        The Amazon DynamoDB Data Source's connection settings

        <Expandable title="AmazonDynamoDBConnectionSettingsInput">
          The Amazon DynamoDB Data Source's connection settings.

          <ParamField path="accessControlEnabled" type="Boolean">
            Enables or disables access control for the Data Pool.
            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="basicAuth" type="HttpBasicAuthInput" required>
            HTTP basic access authentication credentials. You must configure these same credentials to be included in the
            `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose transmits records from your DynamoDB table to its
            custom HTTP endpoint.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="columns" type="[AmazonDynamoDBDataSourceColumnInput!]">
            Additional columns for the table in Propel.

            See <a href="/docs/management-api/inputs#amazondynamodbdatasourcecolumninput">AmazonDynamoDBDataSourceColumnInput</a>
          </ParamField>

          <ParamField path="tableSettings" type="TableSettingsInput">
            Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
            default will be chosen based on the Data Pool's `timestamp` value, if any. You can override these
            defaults in order to specify a custom table engine, custom ORDER BY, etc.

            See <a href="/docs/management-api/inputs#tablesettingsinput">TableSettingsInput</a>
          </ParamField>

          <ParamField path="timestamp" type="String">
            The primary timestamp column, if any.
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The Amazon DynamoDB Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyAmazonDynamoDBDataSource" type="DataSourceResponse" required>
  Modifies the Data Source by the ID or unique name provided with the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyAmazonDynamoDBDataSourceInput" required>
    <Expandable title="ModifyAmazonDynamoDBDataSourceInput">
      <ParamField path="connectionSettings" type="PartialAmazonDynamoDBConnectionSettingsInput">
        The Amazon DynamoDB Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialAmazonDynamoDBConnectionSettingsInput">
          The Amazon DynamoDB Data Source's connection settings.

          <ParamField path="basicAuth" type="HttpBasicAuthInput">
            HTTP basic access authentication credentials. You must configure these same credentials to be included in the
            `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose transmits records from your DynamoDB table to its
            custom HTTP endpoint. If not provided this property will not be modified.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The Amazon DynamoDB Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Amazon DynamoDB Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Amazon DynamoDB Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createClickHouseDataSource" type="DataSourceResponse" required>
  This mutation creates a new ClickHouse Data Source.

  The mutation returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateClickHouseDataSourceInput" required>
    <Expandable title="CreateClickHouseDataSourceInput">
      <ParamField path="connectionSettings" type="ClickHouseConnectionSettingsInput" required>
        The ClickHouse Data Source's connection settings

        <Expandable title="ClickHouseConnectionSettingsInput">
          The ClickHouse Data Source connection settings.

          <ParamField path="database" type="String" required>
            Which database to connect to
          </ParamField>

          <ParamField path="password" type="String" required>
            The password for the provided user
          </ParamField>

          <ParamField path="url" type="String" required>
            The URL where the ClickHouse host is listening to HTTP\[S] connections
          </ParamField>

          <ParamField path="user" type="String" required>
            The user for authenticating against the ClickHouse host
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The ClickHouse Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyClickHouseDataSource" type="DataSourceResponse" required>
  This mutation selects a Data Source by its ID or unique name and modifies it to have the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyClickHouseDataSourceInput" required>
    <Expandable title="ModifyClickHouseDataSourceInput">
      <ParamField path="connectionSettings" type="PartialClickHouseConnectionSettingsInput">
        The ClickHouse Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialClickHouseConnectionSettingsInput">
          The ClickHouse Data Source connection settings.

          <ParamField path="database" type="String">
            Which database to connect to If not provided this property will not be modified.
          </ParamField>

          <ParamField path="password" type="String">
            The password for the provided user If not provided this property will not be modified.
          </ParamField>

          <ParamField path="url" type="String">
            The URL where the ClickHouse host is listening to HTTP\[S] connections If not provided this property will not be modified.
          </ParamField>

          <ParamField path="user" type="String">
            The user for authenticating against the ClickHouse host If not provided this property will not be modified.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The ClickHouse Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the ClickHouse Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The ClickHouse Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createHttpDataSource" type="DataSourceResponse" required>
  Creates a new HTTP Data Source from the given settings.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateHttpDataSourceInput" required>
    <Expandable title="CreateHttpDataSourceInput">
      <ParamField path="connectionSettings" type="HttpConnectionSettingsInput" required>
        The HTTP Data Source's connection settings

        <Expandable title="HttpConnectionSettingsInput">
          The HTTP Data Source connection settings.

          <ParamField path="basicAuth" type="HttpBasicAuthInput">
            The HTTP Basic authentication settings for uploading new data.

            If this parameter is not provided, anyone with the URL to your tables will be able to upload data. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="tables" type="[HttpDataSourceTableInput!]" required>
            The HTTP Data Source's tables.

            See <a href="/docs/management-api/inputs#httpdatasourcetableinput">HttpDataSourceTableInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The HTTP Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyHttpDataSource" type="DataSourceResponse" required>
  This mutation selects a Data Source by its ID or unique name and modifies it to have the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyHttpDataSourceInput" required>
    <Expandable title="ModifyHttpDataSourceInput">
      <ParamField path="connectionSettings" type="PartialHttpConnectionSettingsInput">
        The HTTP Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialHttpConnectionSettingsInput">
          The HTTP Data Source connection settings.

          <ParamField path="basicAuth" type="HttpBasicAuthInput">
            The HTTP Basic authentication settings for uploading new data.

            If this parameter is not provided, anyone with the URL to your tables will be able to upload data. While it's OK to test without HTTP Basic authentication, we recommend enabling it. If not provided this property will not be modified.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="basicAuthEnabled" type="Boolean">
            Set this to `false` to disable HTTP Basic authentication. Any previously stored HTTP Basic authentication settings will be cleared out. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="tables" type="[HttpDataSourceTableInput!]">
            The HTTP Data Source's tables. If not provided this property will not be modified.

            See <a href="/docs/management-api/inputs#httpdatasourcetableinput">HttpDataSourceTableInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The HTTP Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the HTTP Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The HTTP Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createKafkaDataSource" type="DataSourceResponse" required>
  This mutation creates a new Kafka Data Source.

  The mutation returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateKafkaDataSourceInput" required>
    <Expandable title="CreateKafkaDataSourceInput">
      <ParamField path="connectionSettings" type="KafkaConnectionSettingsInput" required>
        The Kafka Data Source's connection settings

        <Expandable title="KafkaConnectionSettingsInput">
          The Kafka Data Source connection settings.

          <ParamField path="auth" type="String" required>
            The type of authentication to use. Can be SCRAM-SHA-256, SCRAM-SHA-512, PLAIN or NONE
          </ParamField>

          <ParamField path="bootstrapServers" type="[String!]" required>
            The bootstrap server(s) to connect to
          </ParamField>

          <ParamField path="password" type="String" required>
            The password for the provided user
          </ParamField>

          <ParamField path="tls" type="Boolean">
            Whether the the connection to the Kafka servers is encrypted or not
          </ParamField>

          <ParamField path="user" type="String" required>
            The user for authenticating against the Kafka servers
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The Kafka Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyKafkaDataSource" type="DataSourceResponse" required>
  This mutation selects a Data Source by its ID or unique name and modifies it to have the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyKafkaDataSourceInput" required>
    <Expandable title="ModifyKafkaDataSourceInput">
      <ParamField path="connectionSettings" type="PartialKafkaConnectionSettingsInput">
        The Kafka Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialKafkaConnectionSettingsInput">
          The Kafka Data Source connection settings.

          <ParamField path="auth" type="String">
            The type of authentication to use. Can be SCRAM-SHA-256, SCRAM-SHA-512, PLAIN or NONE If not provided this property will not be modified.
          </ParamField>

          <ParamField path="bootstrapServers" type="[String!]" required>
            The bootstrap server(s) to connect to If not provided this property will not be modified.
          </ParamField>

          <ParamField path="password" type="String">
            The password for the provided user If not provided this property will not be modified.
          </ParamField>

          <ParamField path="tls" type="Boolean">
            Whether the the connection to the Kafka servers is encrypted or not If not provided this property will not be modified.
          </ParamField>

          <ParamField path="user" type="String">
            The user for authenticating against the Kafka servers If not provided this property will not be modified.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The Kafka Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Kafka Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Kafka Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createPostgreSqlDataSource" type="DataSourceResponse" required>
  Creates a new PostgreSQL Data Source.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  Example:

  ```graphql theme={"system"}
  mutation {
    createPostgreSqlDataSource(input: {
      uniqueName: "example_postgresql_data_source"
      description: "My PostgreSQL Data Source"
      connectionSettings: {
        database: "example_database"
        schema: "public"
        host: "postgresql.example.com"
        port: 5432
        user: "user"
        password: "password"
      }
    }) {
      dataSource {
        id
        uniqueName
      }
    }
  }
  ```

  Replace the placeholder values with your actual configuration.

  ### Arguments

  <ParamField notPatch path="input" type="CreatePostgreSqlDataSourceInput" required>
    <Expandable title="CreatePostgreSqlDataSourceInput">
      <ParamField path="connectionSettings" type="PostgreSqlConnectionSettingsInput" required>
        The PostgreSQL Data Source's connection settings

        <Expandable title="PostgreSqlConnectionSettingsInput">
          The PostgreSQL Data Source connection settings.

          <ParamField path="database" type="String">
            Which database to connect to
          </ParamField>

          <ParamField path="host" type="String" required>
            The host where PostgreSQL is listening
          </ParamField>

          <ParamField path="password" type="String" required>
            The password for the provided user
          </ParamField>

          <ParamField path="port" type="Int">
            The port where PostgreSQL is listening (usually 5432)
          </ParamField>

          <ParamField path="schema" type="String">
            Which schema to use
          </ParamField>

          <ParamField path="user" type="String" required>
            The user for authenticating against PostgreSQL
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The PostgreSQL Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyPostgreSqlDataSource" type="DataSourceResponse" required>
  Selects a Data Source by its ID or unique name and modifies it to have the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyPostgreSqlDataSourceInput" required>
    <Expandable title="ModifyPostgreSqlDataSourceInput">
      <ParamField path="connectionSettings" type="PartialPostgreSqlConnectionSettingsInput">
        The PostgreSQL Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialPostgreSqlConnectionSettingsInput">
          The PostgreSQL Data Source connection settings.

          <ParamField path="database" type="String">
            Which database to connect to If not provided this property will not be modified.
          </ParamField>

          <ParamField path="host" type="String">
            The host where PostgreSQL is listening If not provided this property will not be modified.
          </ParamField>

          <ParamField path="password" type="String">
            The password for the provided user If not provided this property will not be modified.
          </ParamField>

          <ParamField path="port" type="Int">
            The port where PostgreSQL is listening (usually 5432) If not provided this property will not be modified.
          </ParamField>

          <ParamField path="schema" type="String">
            Which schema to use If not provided this property will not be modified.
          </ParamField>

          <ParamField path="user" type="String">
            The user for authenticating against PostgreSQL If not provided this property will not be modified.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The PostgreSQL Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the PostgreSQL Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The PostgreSQL Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createS3DataSource" type="DataSourceResponse" required>
  Creates a new Amazon S3 Data Source pointed at the specified Amazon S3 bucket.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateS3DataSourceInput" required>
    <Expandable title="CreateS3DataSourceInput">
      <ParamField path="connectionSettings" type="S3ConnectionSettingsInput" required>
        The Amazon S3 Data Source's connection settings

        <Expandable title="S3ConnectionSettingsInput">
          The connection settings for an Amazon S3 Data Source. These include the Amazon S3 bucket name, the AWS access key ID, and the tables (along with their paths). We do not allow fetching the AWS secret access key after it has been set.

          <ParamField path="awsAccessKeyId" type="String" required>
            The AWS access key ID for an IAM user with sufficient access to the Amazon S3 bucket.
          </ParamField>

          <ParamField path="awsSecretAccessKey" type="String" required>
            The AWS secret access key for an IAM user with sufficient access to the Amazon S3 bucket.
          </ParamField>

          <ParamField path="bucket" type="String" required>
            The name of the Amazon S3 bucket.
          </ParamField>

          <ParamField path="tables" type="[S3DataSourceTableInput!]" required>
            The Amazon S3 Data Source's tables.

            See <a href="/docs/management-api/inputs#s3datasourcetableinput">S3DataSourceTableInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The Amazon S3 Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyS3DataSource" type="DataSourceResponse" required>
  This mutation selects a Data Source by its ID or unique name and modifies it to have the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyS3DataSourceInput" required>
    <Expandable title="ModifyS3DataSourceInput">
      <ParamField path="connectionSettings" type="PartialS3ConnectionSettingsInput">
        The Amazon S3 Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialS3ConnectionSettingsInput">
          The connection settings for an Amazon S3 Data Source. These include the Amazon S3 bucket name, the AWS access key ID, and the tables (along with their paths). We do not allow fetching the AWS secret access key after it has been set.

          <ParamField path="awsAccessKeyId" type="String">
            The AWS access key ID for an IAM user with sufficient access to the Amazon S3 bucket. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="awsSecretAccessKey" type="String">
            The AWS secret access key for an IAM user with sufficient access to the Amazon S3 bucket. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="bucket" type="String">
            The name of the Amazon S3 bucket. If not provided this property will not be modified.
          </ParamField>

          <ParamField path="tables" type="[S3DataSourceTableInput!]">
            The Amazon S3 Data Source's tables. If not provided this property will not be modified.

            See <a href="/docs/management-api/inputs#s3datasourcetableinput">S3DataSourceTableInput</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The Amazon S3 Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Amazon S3 Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Amazon S3 Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createTwilioSegmentDataSource" type="DataSourceResponse" required>
  Creates a new Twilio Segment Data Source from the given settings.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateTwilioSegmentDataSourceInput" required>
    <Expandable title="CreateTwilioSegmentDataSourceInput">
      <ParamField path="connectionSettings" type="TwilioSegmentConnectionSettingsInput" required>
        The Twilio Segment Data Source's connection settings

        <Expandable title="TwilioSegmentConnectionSettingsInput">
          The Twilio Segment Data Source connection settings.

          <ParamField path="accessControlEnabled" type="Boolean">
            Enables or disables access control for the Data Pool.
            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="basicAuth" type="HttpBasicAuthInput">
            The HTTP basic authentication settings for the Twilio Segment Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="columns" type="[TwilioSegmentDataSourceColumnInput!]">
            The additional columns for the table in Propel.

            See <a href="/docs/management-api/inputs#twiliosegmentdatasourcecolumninput">TwilioSegmentDataSourceColumnInput</a>
          </ParamField>

          <ParamField path="tableSettings" type="TableSettingsInput">
            Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
            default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if any. You can override these
            defaults in order to specify a custom table engine, custom ORDER BY, etc.

            See <a href="/docs/management-api/inputs#tablesettingsinput">TableSettingsInput</a>
          </ParamField>

          <ParamField path="timestamp" type="String">
            The primary timestamp column, if any.
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The Twilio Segment Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyTwilioSegmentDataSource" type="DataSourceResponse" required>
  Modifies the Data Source by the ID or unique name provided with the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyTwilioSegmentDataSourceInput" required>
    <Expandable title="ModifyTwilioSegmentDataSourceInput">
      <ParamField path="connectionSettings" type="PartialTwilioSegmentConnectionSettingsInput">
        The Twilio Segment Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialTwilioSegmentConnectionSettingsInput">
          The Twilio Segment Data Source connection settings.

          <ParamField path="basicAuth" type="HttpBasicAuthInput">
            The HTTP basic authentication settings for the Twilio Segment Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it. If not provided this property will not be modified.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="basicAuthEnabled" type="Boolean">
            Set this to `false` to disable HTTP Basic authentication. Any previously stored HTTP Basic authentication settings will be cleared out. If not provided this property will not be modified.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The Twilio Segment Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Twilio Segment Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Twilio Segment Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="createWebhookDataSource" type="DataSourceResponse" required>
  Creates a new Webhook Data Source from the given settings.

  Returns the newly created Data Source (or an error message if creating the Data Source fails).

  ### Arguments

  <ParamField notPatch path="input" type="CreateWebhookDataSourceInput" required>
    <Expandable title="CreateWebhookDataSourceInput">
      <ParamField path="connectionSettings" type="WebhookConnectionSettingsInput" required>
        The Webhook Data Source's connection settings

        <Expandable title="WebhookConnectionSettingsInput">
          The Webhook Data Source connection settings.

          <ParamField path="accessControlEnabled" type="Boolean">
            Enables or disables access control for the Data Pool.
            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="basicAuth" type="HttpBasicAuthInput">
            The HTTP basic authentication settings for the Webhook Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="columns" type="[WebhookDataSourceColumnInput!]">
            The additional columns for the table in Propel.

            See <a href="/docs/management-api/inputs#webhookdatasourcecolumninput">WebhookDataSourceColumnInput</a>
          </ParamField>

          <ParamField path="tableSettings" type="TableSettingsInput">
            Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
            default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if any. You can override these
            defaults in order to specify a custom table engine, custom ORDER BY, etc.

            See <a href="/docs/management-api/inputs#tablesettingsinput">TableSettingsInput</a>
          </ParamField>

          <ParamField path="tenant" type="String">
            The tenant ID column, if any.
          </ParamField>

          <ParamField path="timestamp" type="String">
            The primary timestamp column, if any.
          </ParamField>

          <ParamField path="uniqueId" type="String">
            The unique ID column, if any. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated.
          </ParamField>
        </Expandable>
      </ParamField>

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

      <ParamField path="uniqueName" type="String">
        The Webhook Data Source's unique name. If not specified, Propel will set the ID as unique name.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<ParamField path="modifyWebhookDataSource" type="DataSourceResponse" required>
  Modifies the Data Source by the ID or unique name provided with the given unique name, description, and connection settings.

  If any of the optional arguments are omitted, those properties will be unchanged on the Data Source.

  ### Arguments

  <ParamField notPatch path="input" type="ModifyWebhookDataSourceInput" required>
    <Expandable title="ModifyWebhookDataSourceInput">
      <ParamField path="connectionSettings" type="PartialWebhookConnectionSettingsInput">
        The Webhook Data Source's new connection settings. If not provided this property will not be modified.

        <Expandable title="PartialWebhookConnectionSettingsInput">
          The Webhook Data Source connection settings.

          <ParamField path="basicAuth" type="HttpBasicAuthInput">
            The HTTP basic authentication settings for the Webhook Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it. If not provided this property will not be modified.

            See <a href="/docs/management-api/inputs#httpbasicauthinput">HttpBasicAuthInput</a>
          </ParamField>

          <ParamField path="basicAuthEnabled" type="Boolean">
            Set this to `false` to disable HTTP Basic authentication. Any previously stored HTTP Basic authentication settings will be cleared out. If not provided this property will not be modified.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="description" type="String">
        The Webhook Data Source's new description. If not provided this property will not be modified.
      </ParamField>

      <ParamField path="idOrUniqueName" type="idOrUniqueName" required>
        The ID or unique name of the Webhook Data Source to modify.

        <Expandable title="idOrUniqueName">
          The ID or unique name input.

          If both ID and unique name are provided, the ID will take precedence.

          <ParamField path="id" type="String">
            The unique identifier of the object.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The unique name of the object.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueName" type="String">
        The Webhook Data Source's new unique name. If not provided this property will not be modified.
      </ParamField>
    </Expandable>
  </ParamField>

  <Expandable title="DataSourceResponse">
    The result of a mutation which creates or modifies a Data Source.

    <ParamField path="dataSource" type="DataSource">
      The Data Source which was created or modified.

      <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>
  </Expandable>
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="reconnectDataPool" type="DataPool" deprecated>
    Deprecated. Use `retryDataPoolSetup` instead.

    <span style={{ fontStyle: 'italic' }}>deprecated: Use `retryDataPoolSetup` instead</span>

    ### Arguments

    <ParamField notPatch path="input" type="idOrUniqueName" required>
      <Expandable title="idOrUniqueName">
        The ID or unique name input.

        If both ID and unique name are provided, the ID will take precedence.

        <ParamField path="id" type="String">
          The unique identifier of the object.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The unique name of the object.
        </ParamField>
      </Expandable>
    </ParamField>

    <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>

  <ParamField path="createPolicy" type="PolicyResponse" deprecated>
    Creates a new Policy granting an Application access to a Metric's data.

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

    ### Arguments

    <ParamField notPatch path="input" type="CreatePolicyInput" required>
      <Expandable title="CreatePolicyInput">
        The fields for creating a Policy.

        <ParamField path="metric" type="ID" required>
          The Metric to which the Policy will be applied.
        </ParamField>

        <ParamField path="type" type="PolicyType" required>
          The type of Policy to create.

          <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="ID" required>
          The Application that will be granted access to the Metric.
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="PolicyResponse">
      The result of a mutation which creates or modifies a Policy.

      <ParamField path="policy" type="Policy">
        The Policy which was created or modified.

        <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.

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

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

            See <a href="/docs/management-api/types#environment">Environment</a>
          </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.

            See <a href="/docs/management-api/enums#policytype">PolicyType</a>
          </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>
    </Expandable>
  </ParamField>

  <ParamField path="modifyPolicy" type="PolicyResponse" deprecated>
    Modifies an existing Policy. You can modify the Application's level of access to the Metric's data.

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

    ### Arguments

    <ParamField notPatch path="input" type="ModifyPolicyInput" required>
      <Expandable title="ModifyPolicyInput">
        The fields for modifying a Policy.

        <ParamField path="policy" type="ID" required>
          The Policy's unique identifier.
        </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>
      </Expandable>
    </ParamField>

    <Expandable title="PolicyResponse">
      The result of a mutation which creates or modifies a Policy.

      <ParamField path="policy" type="Policy">
        The Policy which was created or modified.

        <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.

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

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

            See <a href="/docs/management-api/types#environment">Environment</a>
          </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.

            See <a href="/docs/management-api/enums#policytype">PolicyType</a>
          </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>
    </Expandable>
  </ParamField>

  <ParamField path="deletePolicy" type="ID" deprecated>
    Deletes a Policy. The associated Application will no longer have access to the Metric's data.

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

    ### Arguments

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

  <ParamField path="requestDelete" type="RequestDeleteResponse" required deprecated>
    Schedules a new Deletion Job on the specified Data Pool.

    <span style={{ fontStyle: 'italic' }}>deprecated: This has been renamed to `createDeletionJob`</span>

    ### Arguments

    <ParamField notPatch path="input" type="DeletionRequestInput" required>
      <Expandable title="DeletionRequestInput">
        The fields for creating a Deletion Job.

        <ParamField path="dataPool" type="ID" required>
          The Data Pool that is going to get the data deleted
        </ParamField>

        <ParamField path="filterSql" type="String">
          The filters that will be used for deleting data, in the form of SQL. Data matching these filters will be deleted.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="filters" type="[FilterInput!]" deprecated>
            The list of filters that will be used for deleting data. Data matching these filters will be deleted.

            <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>

    <Expandable title="RequestDeleteResponse">
      The response returned by the Deletion Job.

      <ParamField path="job" type="DeletionJob" required>
        The Deletion Job that was just created.

        <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.

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

          <ParamField path="environment" type="Environment" required>
            Environment to which the Deletion Job belongs.

            See <a href="/docs/management-api/types#environment">Environment</a>
          </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.

            See <a href="/docs/management-api/enums#jobstatus">JobStatus</a>
          </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.

            See <a href="/docs/management-api/types#error">Error</a>
          </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>

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

## 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.

  <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="isNullable" type="Boolean" required>
  Whether the column is nullable, meaning whether it accepts a null value.
</ParamField>

## 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.

      <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="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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL the query executed.
    </ParamField>
  </Expandable>
</ParamField>

## 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.

      <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="isNullable" type="Boolean" required>
      Whether the column is nullable, meaning whether it accepts a null value.
    </ParamField>
  </Expandable>
</ParamField>

## 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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </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.

      <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>

    <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>

## DataGridEdge

The Data Grid edge object.

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

  <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>

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

## 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>

## 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.

      <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="status" type="QueryStatus" required>
      The Query status.

      <Expandable title="QueryStatus">
        The Query status.

        <ParamField path=" ">
          * `COMPLETED`: The Query was completed succesfully.
          * `ERROR`: The Query experienced an error.
          * `TIMED_OUT`: The Query timed out.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="type" type="QueryType" required>
      The Query type.

      <Expandable title="QueryType">
        The Query type.

        <ParamField path=" ">
          * `METRIC`: Indicates a Metric Query.
          * `STATS`: Indicates a Dimension Stats Query.
          * `REPORT`: Indicates a Report Query.
          * `RECORDS`: Indicates a Record Table Query.
          * `RECORDS_BY_UNIQUE_ID`: Indicates records queried by unique ID.
          * `SQL`: Indicates a SQL Query.
          * `TOP_VALUES`: Indicates a Top Values Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="subtype" type="QuerySubtype">
      The Query subtype.

      <Expandable title="QuerySubtype">
        The Query subtype.

        <ParamField path=" ">
          * `COUNTER`: Indicates a Metric counter Query.
          * `TIME_SERIES`: Indicates a Metric time series Query.
          * `LEADERBOARD`: Indicates a Metric leaderboard Query.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="sql" type="String" required>
      The SQL the query executed.
    </ParamField>
  </Expandable>
</ParamField>

## TopValuesResponse

<ParamField path="values" type="[String!]" required>
  An array with the list of values.
</ParamField>

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

  ### Arguments

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

  <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>

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

  ### Arguments

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

  <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>

<ParamField path="applications" type="ApplicationConnection">
  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" />

  <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>

<ParamField path="dataSource" type="DataSource">
  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 />

  <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>

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

  ### Arguments

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

  <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>

<ParamField path="dataSources" type="DataSourceConnection">
  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" />

  <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>

<ParamField path="dataPool" type="DataPool">
  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 />

  <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>

<ParamField path="dataPoolByName" type="DataPool">
  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 />

  <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>

<ParamField path="dataPools" type="DataPoolConnection">
  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" />

  <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>

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

  ### Arguments

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

  <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>

<ParamField path="materializedViews" type="MaterializedViewConnection">
  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" />

  <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>

<ParamField path="dataPoolAccessPolicy" type="DataPoolAccessPolicy">
  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 />

  <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>

<ParamField path="metric" type="Metric">
  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 />

  <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>

<ParamField path="metricByName" type="Metric">
  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 />

  <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>

<ParamField path="metrics" type="MetricConnection">
  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" />

  <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>

<ParamField path="booster" type="Booster">
  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 />

  <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>

<ParamField path="policy" type="Policy">
  Returns a Policy by ID.

  ### Arguments

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

  <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>

<ParamField path="sync" type="Sync">
  Returns a Sync by ID.

  ### Arguments

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

  <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>

<ParamField path="table" type="Table">
  Returns a table by ID.

  ### Arguments

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

  <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>

<ParamField path="metricReport" type="MetricReportConnection">
  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>

  <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>

<ParamField path="sqlV1" type="SqlResponse" required>
  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>

  <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>

<ParamField path="describeSqlV1" type="DescribeSqlResponse" required>
  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>

  <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>

<ParamField path="dataGrid" type="DataGridConnection" required>
  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>

  <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>

<ParamField path="recordsByUniqueId" type="RecordsByUniqueIdResponse" required>
  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>

  <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>

<ParamField path="topValues" type="TopValuesResponse" required>
  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>

  <Expandable title="TopValuesResponse">
    <ParamField path="values" type="[String!]" required>
      An array with the list of values.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="counter" type="CounterResponse">
  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>

  <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>

<ParamField path="counters" type="[CounterResponse]" required>
  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>

  <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>

<ParamField path="timeSeries" type="TimeSeriesResponse">
  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>

  <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>

<ParamField path="leaderboard" type="LeaderboardResponse">
  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>

  <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>

<ParamField path="deletionJob" type="DeletionJob">
  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 />

  <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>

<ParamField path="addColumnToDataPoolJob" type="AddColumnToDataPoolJob">
  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 />

  <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>

<ParamField path="addColumnToDataPoolJobByStatus" type="AddColumnToDataPoolJobConnection" required>
  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" />

  <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>

<ParamField path="updateDataPoolRecordsJob" type="UpdateDataPoolRecordsJob">
  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 />

  <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>

<ParamField path="updateDataPoolRecordsJobByStatus" type="UpdateDataPoolRecordsJobConnection" required>
  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" />

  <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>

<ParamField path="materializedView" type="MaterializedView">
  Returns the Materialized View specified by the given ID.

  ### Arguments

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

  <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>

<ParamField path="materializedViewByName" type="MaterializedView">
  Returns the Materialized View specified by its unique name.

  ### Arguments

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

  <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>

## 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>

## AddColumnToDataPoolJobEdge

The Add column to Data Pool Job 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="AddColumnToDataPoolJob" required>
  The edge's node.
  See <a href="/docs/management-api/types#addcolumntodatapooljob">AddColumnToDataPoolJob</a>
</ParamField>

## 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.

      <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>
  </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.

      <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>

<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>

## 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.

  <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>

## BoosterConnection

The Booster connection object.

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

<ParamField path="edges" type="[BoosterEdge!]" required>
  The Booster connection's edges.
  See <a href="/docs/management-api/types#boosteredge">BoosterEdge</a>
</ParamField>

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

<ParamField path="pageInfo" type="PageInfo" required>
  The Booster 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>

## BoosterEdge

The Booster 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="Booster" required>
  The edge's node.
  See <a href="/docs/management-api/types#booster">Booster</a>
</ParamField>

## 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.

  <Expandable title="ColumnEdge">
    The column 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="Column" required>
      The edge's node.

      <Expandable title="Column">
        The column object.

        Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

        <ParamField path="name" type="String" required>
          The column's name.
        </ParamField>

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

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

        <ParamField path="cachedAt" type="DateTime" required>
          The time at which the column was cached (i.e., the time at which it was introspected).
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The time at which the column was created. This is the same as its `cachedAt` time.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The column'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="suggestedDataPoolColumnType" type="ColumnType">
          This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column.
          Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns `null`.

          Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer
          to `supportedDataPoolColumnTypes` for the full set of supported conversions.

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

        <ParamField path="supportedDataPoolColumnTypes" type="[ColumnType!]" required>
          This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

          For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

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

        <Expandable title="Deprecated Fields">
          <ParamField path="kind" type="String" required deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="defaultValue" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isPrimaryKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="comment" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="policyName" type="String" deprecated>
            Information about the column obtained from Snowflake.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

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

  <Expandable title="Column">
    The column object.

    Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

    <ParamField path="name" type="String" required>
      The column's name.
    </ParamField>

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

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

    <ParamField path="cachedAt" type="DateTime" required>
      The time at which the column was cached (i.e., the time at which it was introspected).
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The time at which the column was created. This is the same as its `cachedAt` time.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The column'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="suggestedDataPoolColumnType" type="ColumnType">
      This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column.
      Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns `null`.

      Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer
      to `supportedDataPoolColumnTypes` for the full set of supported conversions.

      <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="supportedDataPoolColumnTypes" type="[ColumnType!]" required>
      This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

      For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

      <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>

    <Expandable title="Deprecated Fields">
      <ParamField path="kind" type="String" required deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="defaultValue" type="String" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isPrimaryKey" type="Boolean" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isUniqueKey" type="Boolean" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="comment" type="String" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="policyName" type="String" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

<ParamField path="pageInfo" type="PageInfo" required>
  The column 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>

## ColumnEdge

The column 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="Column" required>
  The edge's node.

  <Expandable title="Column">
    The column object.

    Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

    <ParamField path="name" type="String" required>
      The column's name.
    </ParamField>

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

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

    <ParamField path="cachedAt" type="DateTime" required>
      The time at which the column was cached (i.e., the time at which it was introspected).
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The time at which the column was created. This is the same as its `cachedAt` time.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The column'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="suggestedDataPoolColumnType" type="ColumnType">
      This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column.
      Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns `null`.

      Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer
      to `supportedDataPoolColumnTypes` for the full set of supported conversions.

      <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="supportedDataPoolColumnTypes" type="[ColumnType!]" required>
      This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

      For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

      <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>

    <Expandable title="Deprecated Fields">
      <ParamField path="kind" type="String" required deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="defaultValue" type="String" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isPrimaryKey" type="Boolean" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="isUniqueKey" type="Boolean" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="comment" type="String" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>

      <ParamField path="policyName" type="String" deprecated>
        Information about the column obtained from Snowflake.

        <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## DataPoolAccessPolicyConnection

The Data Pool Access Policy connection object.

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

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

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

<ParamField path="pageInfo" type="PageInfo" required>
  The Data Pool Access Policy 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>

## DataPoolAccessPolicyEdge

The Data Pool Access Policy 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="DataPoolAccessPolicy" required>
  The edge's node.
  See <a href="/docs/management-api/types#datapoolaccesspolicy">DataPoolAccessPolicy</a>
</ParamField>

## 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.

  <Expandable title="DataPoolColumnEdge">
    The Data Pool column 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="DataPoolColumn" required>
      The edge's node.

      <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>
</ParamField>

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

  <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.

      <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="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="pageInfo" type="PageInfo" required>
  The Data Pool column 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>

## DataPoolColumnEdge

The Data Pool column 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="DataPoolColumn" required>
  The edge's node.

  <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.

      <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="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>

## 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>

## DataPoolEdge

The Data Pool 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="DataPool" required>
  The edge's node.
  See <a href="/docs/management-api/types#datapool">DataPool</a>
</ParamField>

## 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.

      <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>
  </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.

      <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>

<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>

## 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.

  <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>

## DeletionJobConnection

The Deletion Job connection object.

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

<ParamField path="edges" type="[DeletionJobEdge!]" required>
  The Deletion Job connection's edges.
  See <a href="/docs/management-api/types#deletionjobedge">DeletionJobEdge</a>
</ParamField>

<ParamField path="nodes" type="[DeletionJob!]" required>
  The Deletion Job connection's nodes.
  See <a href="/docs/management-api/types#deletionjob">DeletionJob</a>
</ParamField>

<ParamField path="pageInfo" type="PageInfo" required>
  The Deletion 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>

## DeletionJobEdge

The Deletion Job 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="DeletionJob" required>
  The edge's node.
  See <a href="/docs/management-api/types#deletionjob">DeletionJob</a>
</ParamField>

## 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.

      <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>
  </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.

      <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>

<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>

## 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.

  <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>

## 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>

## MetricEdge

The Metric 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="Metric" required>
  The edge's node.
  See <a href="/docs/management-api/types#metric">Metric</a>
</ParamField>

## PolicyConnection

The Policy connection object.

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

<ParamField path="edges" type="[PolicyEdge!]" required>
  The Policy connection's edges.
  See <a href="/docs/management-api/types#policyedge">PolicyEdge</a>
</ParamField>

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

<ParamField path="pageInfo" type="PageInfo" required>
  The Policy 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>

## PolicyEdge

The Policy 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="Policy" required>
  The edge's node.
  See <a href="/docs/management-api/types#policy">Policy</a>
</ParamField>

## SyncConnection

The Sync connection object.

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

<ParamField path="edges" type="[SyncEdge!]" required>
  The Sync connection's edges.
  See <a href="/docs/management-api/types#syncedge">SyncEdge</a>
</ParamField>

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

<ParamField path="pageInfo" type="PageInfo" required>
  The Sync 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>

## SyncEdge

The Sync 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="Sync" required>
  The edge's node.
  See <a href="/docs/management-api/types#sync">Sync</a>
</ParamField>

## TableConnection

The table 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 tables were cached (i.e., the time at which they were introspected).
</ParamField>

<ParamField path="edges" type="[TableEdge!]" required>
  The table connection's edges.
  See <a href="/docs/management-api/types#tableedge">TableEdge</a>
</ParamField>

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

<ParamField path="pageInfo" type="PageInfo" required>
  The table 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>

## TableEdge

The table 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="Table" required>
  The edge's node.
  See <a href="/docs/management-api/types#table">Table</a>
</ParamField>

## TableIntrospectionConnection

The table introspection connection object.

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

<ParamField path="edges" type="[TableIntrospectionEdge!]" required>
  The table introspection connection's edges.
  See <a href="/docs/management-api/types#tableintrospectionedge">TableIntrospectionEdge</a>
</ParamField>

<ParamField path="nodes" type="[TableIntrospection!]" required>
  The table introspection connection's nodes.
  See <a href="/docs/management-api/types#tableintrospection">TableIntrospection</a>
</ParamField>

<ParamField path="pageInfo" type="PageInfo" required>
  The table introspection 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>

## TableIntrospectionEdge

The table introspection 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="TableIntrospection" required>
  The edge's node.
  See <a href="/docs/management-api/types#tableintrospection">TableIntrospection</a>
</ParamField>

## 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>

## UpdateDataPoolRecordsJobEdge

The Update Data Pool records Job 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="UpdateDataPoolRecordsJob" required>
  The edge's node.
  See <a href="/docs/management-api/types#updatedatapoolrecordsjob">UpdateDataPoolRecordsJob</a>
</ParamField>

## AmazonDataFirehoseConnectionSettings

The Amazon Data Firehose Data Source's connection settings.

<ParamField path="accessControlEnabled" type="Boolean">
  Enables or disables access control for the Data Pool.
  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="basicAuth" type="HttpBasicAuthSettings" required>
  HTTP basic access authentication credentials. You must configure these same credentials to be included in the
  `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose issues requests to its custom HTTP endpoint.

  <Expandable title="HttpBasicAuthSettings">
    The HTTP Basic authentication settings.

    <ParamField path="username" type="String" required>
      Username for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>

    <ParamField path="password" type="String" required>
      Password for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="columns" type="[AmazonDataFirehoseDataSourceColumn!]">
  Additional columns for the table in Propel.

  <Expandable title="AmazonDataFirehoseDataSourceColumn">
    A column in an Amazon Data Firehose Data Source's table.

    <ParamField path="name" type="String" required>
      The column name.
    </ParamField>

    <ParamField path="jsonProperty" type="String" required>
      The JSON property that the column will be derived from. For example, if you send a JSON event like this:

      ```json theme={"system"}
      { "greeting": { "message": "hello, world" } }
      ```

      Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
    </ParamField>

    <ParamField path="type" type="ColumnType" required>
      The column type.

      <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="nullable" type="Boolean" required>
      Whether the column's type is nullable or not.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="httpEndpointURL" type="String" required>
  Copy this value into the URL field when configuring your Amazon Data Firehose to deliver to a custom HTTP endpoint.
</ParamField>

<ParamField path="tableSettings" type="TableSettings">
  Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
  default will be chosen based on the Data Pool's `timestamp` value, if any. You can override these
  defaults in order to specify a custom table engine, custom ORDER BY, etc.

  <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.

      <Expandable title="TableEngine">
        A Data Pool's table engine.

        <ParamField path="TableEngine" type="MergeTreeTableEngine | ReplacingMergeTreeTableEngine | SummingMergeTreeTableEngine | AggregatingMergeTreeTableEngine | PostgreSqlTableEngine">
          See <a href="/docs/management-api/types#mergetreetableengine">MergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#replacingmergetreetableengine">ReplacingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#summingmergetreetableengine">SummingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#aggregatingmergetreetableengine">AggregatingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#postgresqltableengine">PostgreSqlTableEngine</a>
        </ParamField>
      </Expandable>
    </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="timestamp" type="String">
  The primary timestamp column, if any.
</ParamField>

<ParamField path="xAmzFirehoseAccessKey" type="String" required>
  Copy this value into the `X-Amz-Firehose-Access-Key` header when configuring your Amazon Data Firehose to deliver to a custom HTTP endpoint.
</ParamField>

## AmazonDynamoDBConnectionSettings

The Amazon DynamoDB Data Source's connection settings.

<ParamField path="accessControlEnabled" type="Boolean">
  Enables or disables access control for the Data Pool.
  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="basicAuth" type="HttpBasicAuthSettings" required>
  HTTP basic access authentication credentials. You must configure these same credentials to be included in the
  `X-Amz-Firehose-Access-Key` header when Amazon Data Firehose transmits records from your DynamoDB table to its
  custom HTTP endpoint.

  <Expandable title="HttpBasicAuthSettings">
    The HTTP Basic authentication settings.

    <ParamField path="username" type="String" required>
      Username for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>

    <ParamField path="password" type="String" required>
      Password for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="columns" type="[AmazonDynamoDBDataSourceColumn!]">
  Additional columns for the table in Propel.

  <Expandable title="AmazonDynamoDBDataSourceColumn">
    A column in an Amazon DynamoDB Data Source's table.

    <ParamField path="name" type="String" required>
      The column name.
    </ParamField>

    <ParamField path="jsonProperty" type="String" required>
      The JSON property that the column will be derived from. For example, if you send a JSON event like this:

      ```json theme={"system"}
      { "greeting": { "message": "hello, world" } }
      ```

      Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
    </ParamField>

    <ParamField path="type" type="ColumnType" required>
      The column type.

      <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="nullable" type="Boolean" required>
      Whether the column's type is nullable or not.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="httpEndpointURL" type="String" required>
  Copy this value into the URL field when configuring your Amazon Data Firehose to transmit records from your
  DynamoDB table to a custom HTTP endpoint.
</ParamField>

<ParamField path="tableSettings" type="TableSettings">
  Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
  default will be chosen based on the Data Pool's `timestamp` value, if any. You can override these
  defaults in order to specify a custom table engine, custom ORDER BY, etc.

  <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.

      <Expandable title="TableEngine">
        A Data Pool's table engine.

        <ParamField path="TableEngine" type="MergeTreeTableEngine | ReplacingMergeTreeTableEngine | SummingMergeTreeTableEngine | AggregatingMergeTreeTableEngine | PostgreSqlTableEngine">
          See <a href="/docs/management-api/types#mergetreetableengine">MergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#replacingmergetreetableengine">ReplacingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#summingmergetreetableengine">SummingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#aggregatingmergetreetableengine">AggregatingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#postgresqltableengine">PostgreSqlTableEngine</a>
        </ParamField>
      </Expandable>
    </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="timestamp" type="String">
  The primary timestamp column, if any.
</ParamField>

<ParamField path="xAmzFirehoseAccessKey" type="String" required>
  Copy this value into the `X-Amz-Firehose-Access-Key` header when configuring your Amazon Data Firehose to
  transmit records from your DynamoDB table to its custom HTTP endpoint.
</ParamField>

## ClickHouseConnectionSettings

The ClickHouse Data Source connection settings.

<ParamField path="database" type="String" required>
  Which database to connect to
</ParamField>

<ParamField path="password" type="String" required>
  The password for the provided user
</ParamField>

<ParamField path="readonly" type="Boolean">
  Whether the user has readonly permissions or not for querying ClickHouse
</ParamField>

<ParamField path="url" type="String" required>
  The URL where the ClickHouse host is listening to HTTP\[S] connections
</ParamField>

<ParamField path="user" type="String" required>
  The user for authenticating against the ClickHouse host
</ParamField>

## HttpConnectionSettings

The HTTP Data Source connection settings.

<ParamField path="basicAuth" type="HttpBasicAuthSettings">
  The HTTP Basic authentication settings for uploading new data.

  If this parameter is not provided, anyone with the URL to your tables will be able to upload data. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

  <Expandable title="HttpBasicAuthSettings">
    The HTTP Basic authentication settings.

    <ParamField path="username" type="String" required>
      Username for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>

    <ParamField path="password" type="String" required>
      Password for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="tables" type="[HttpDataSourceTable!]" required>
  The HTTP Data Source's tables.

  <Expandable title="HttpDataSourceTable">
    An HTTP Data Source's table.

    <ParamField path="id" type="ID" required>
      The ID of the table
    </ParamField>

    <ParamField path="name" type="String" required>
      The name of the table
    </ParamField>

    <ParamField path="columns" type="[HttpDataSourceColumn!]" required>
      All the columns present in the table

      <Expandable title="HttpDataSourceColumn">
        A column in an HTTP Data Source's table.

        <ParamField path="name" type="String" required>
          The column name. It has to be unique within a table.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The column type.

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

        <ParamField path="clickHouseType" type="String">
          The ClickHouse type to use when `type` is set to `CLICKHOUSE`.
        </ParamField>

        <ParamField path="nullable" type="Boolean" required>
          Whether the column's type is nullable or not.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## KafkaConnectionSettings

The Kafka Data Source connection settings.

<ParamField path="auth" type="String" required>
  The type of authentication to use. Can be SCRAM-SHA-256, SCRAM-SHA-512, PLAIN or NONE
</ParamField>

<ParamField path="bootstrapServers" type="[String!]" required>
  The bootstrap server(s) to connect to
</ParamField>

<ParamField path="password" type="String" required>
  The password for the provided user
</ParamField>

<ParamField path="tls" type="Boolean">
  Whether the the connection to the Kafka servers is encrypted or not
</ParamField>

<ParamField path="user" type="String" required>
  The user for authenticating against the Kafka servers
</ParamField>

## PostgreSqlConnectionSettings

The PostgreSQL Data Source connection settings.

<ParamField path="database" type="String">
  Which database to connect to
</ParamField>

<ParamField path="host" type="String" required>
  The host where PostgreSQL is listening
</ParamField>

<ParamField path="port" type="Int">
  The port where PostgreSQL is listening (usually 5432)
</ParamField>

<ParamField path="schema" type="String">
  Which schema to use
</ParamField>

<ParamField path="user" type="String" required>
  The user for authenticating against PostgreSQL
</ParamField>

## S3ConnectionSettings

The connection settings for an Amazon S3 Data Source. These include the Amazon S3 bucket name, the AWS access key ID, and the tables (along with their paths). We do not allow fetching the AWS secret access key after it has been set.

<ParamField path="awsAccessKeyId" type="String" required>
  The AWS access key ID for an IAM user with sufficient access to the Amazon S3 bucket.
</ParamField>

<ParamField path="bucket" type="String" required>
  The name of the Amazon S3 bucket.
</ParamField>

<ParamField path="tables" type="[S3DataSourceTable!]" required>
  The Amazon S3 Data Source's tables.

  <Expandable title="S3DataSourceTable">
    An Amazon S3 Data Source's table.

    <ParamField path="id" type="ID" required>
      The ID of the table
    </ParamField>

    <ParamField path="name" type="String" required>
      The name of the table
    </ParamField>

    <ParamField path="path" type="String">
      The path to the table's files in Amazon S3.
    </ParamField>

    <ParamField path="columns" type="[S3DataSourceColumn!]" required>
      All the columns present in the table

      <Expandable title="S3DataSourceColumn">
        A column in an Amazon S3 Data Source's table.

        <ParamField path="name" type="String" required>
          The column name.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The column type.

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

        <ParamField path="nullable" type="Boolean" required>
          Whether the column's type is nullable or not.
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

## TwilioSegmentConnectionSettings

The Twilio Segment Data Source connection settings.

<ParamField path="accessControlEnabled" type="Boolean">
  Enables or disables access control for the Data Pool.
  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="basicAuth" type="HttpBasicAuthSettings">
  The HTTP basic authentication settings for the Twilio Segment Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

  <Expandable title="HttpBasicAuthSettings">
    The HTTP Basic authentication settings.

    <ParamField path="username" type="String" required>
      Username for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>

    <ParamField path="password" type="String" required>
      Password for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="columns" type="[TwilioSegmentDataSourceColumn!]">
  The additional columns for the table in Propel.

  <Expandable title="TwilioSegmentDataSourceColumn">
    A column in a Twilio Segment Data Source's table.

    <ParamField path="name" type="String" required>
      The column name.
    </ParamField>

    <ParamField path="jsonProperty" type="String" required>
      The JSON property that the column will be derived from. For example, if you POST a JSON event like this:

      ```json theme={"system"}
      { "greeting": { "message": "hello, world" } }
      ```

      Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
    </ParamField>

    <ParamField path="type" type="ColumnType" required>
      The column type.

      <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="nullable" type="Boolean" required>
      Whether the column's type is nullable or not.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="tableSettings" type="TableSettings">
  Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
  default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if any. You can override these
  defaults in order to specify a custom table engine, custom ORDER BY, etc.

  <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.

      <Expandable title="TableEngine">
        A Data Pool's table engine.

        <ParamField path="TableEngine" type="MergeTreeTableEngine | ReplacingMergeTreeTableEngine | SummingMergeTreeTableEngine | AggregatingMergeTreeTableEngine | PostgreSqlTableEngine">
          See <a href="/docs/management-api/types#mergetreetableengine">MergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#replacingmergetreetableengine">ReplacingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#summingmergetreetableengine">SummingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#aggregatingmergetreetableengine">AggregatingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#postgresqltableengine">PostgreSqlTableEngine</a>
        </ParamField>
      </Expandable>
    </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="timestamp" type="String">
  The primary timestamp column, if any.
</ParamField>

<ParamField path="webhookUrl" type="String" required>
  The webhook URL that Twilio Segment should POST events to.
</ParamField>

## WebhookConnectionSettings

The Webhook Data Source connection settings.

<ParamField path="accessControlEnabled" type="Boolean">
  Enables or disables access control for the Data Pool.
  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="basicAuth" type="HttpBasicAuthSettings">
  The HTTP basic authentication settings for the Webhook Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

  <Expandable title="HttpBasicAuthSettings">
    The HTTP Basic authentication settings.

    <ParamField path="username" type="String" required>
      Username for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>

    <ParamField path="password" type="String" required>
      Password for HTTP Basic authentication that must be included in the Authorization header when uploading new data.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="columns" type="[WebhookDataSourceColumn!]">
  The additional columns for the table in Propel.

  <Expandable title="WebhookDataSourceColumn">
    A column in a Webhook Data Source's table.

    <ParamField path="name" type="String" required>
      The column name.
    </ParamField>

    <ParamField path="jsonProperty" type="String" required>
      The JSON property that the column will be derived from. For example, if you POST a JSON event like this:

      ```json theme={"system"}
      { "greeting": { "message": "hello, world" } }
      ```

      Then you can use the JSON property "greeting.message" to extract "hello, world" to a column.
    </ParamField>

    <ParamField path="type" type="ColumnType" required>
      The column type.

      <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="nullable" type="Boolean" required>
      Whether the column's type is nullable or not.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField path="tableSettings" type="TableSettings">
  Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a
  default will be chosen based on the Data Pool's `timestamp` and `uniqueId` values, if any. You can override these
  defaults in order to specify a custom table engine, custom ORDER BY, etc.

  <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.

      <Expandable title="TableEngine">
        A Data Pool's table engine.

        <ParamField path="TableEngine" type="MergeTreeTableEngine | ReplacingMergeTreeTableEngine | SummingMergeTreeTableEngine | AggregatingMergeTreeTableEngine | PostgreSqlTableEngine">
          See <a href="/docs/management-api/types#mergetreetableengine">MergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#replacingmergetreetableengine">ReplacingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#summingmergetreetableengine">SummingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#aggregatingmergetreetableengine">AggregatingMergeTreeTableEngine</a>

          See <a href="/docs/management-api/types#postgresqltableengine">PostgreSqlTableEngine</a>
        </ParamField>
      </Expandable>
    </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="timestamp" type="String">
  The primary timestamp column, if any.
</ParamField>

<ParamField path="webhookUrl" type="String" required>
  The Webhook URL for posting JSON events
</ParamField>

<Expandable title="Deprecated Fields">
  <ParamField path="tenant" type="String" deprecated>
    The tenant ID column, if any.

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

  <ParamField path="uniqueId" type="String" deprecated>
    The unique ID column, if any. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated.

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