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

# Mutations

> Available mutations in the Management API

<div />

## createEnvironment

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

  ### Returns

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

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

## modifyEnvironment

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

  ### Returns

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

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

## deleteEnvironment

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

  ### Arguments

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

## createDataPoolAccessPolicy

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

  ### Returns

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

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

## modifyDataPoolAccessPolicy

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

  ### Returns

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

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

## deleteDataPoolAccessPolicy

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

## assignDataPoolAccessPolicyToApplication

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

## unAssignDataPoolAccessPolicyFromApplication

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

## createApplication

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

  ### Returns

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

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

## modifyApplication

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

  ### Returns

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

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

## deleteApplication

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

  ### Arguments

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

## deleteApplicationByName

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

## createSnowflakeDataSource

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

  ### Returns

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

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

## modifySnowflakeDataSource

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

  ### Returns

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

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

## reconnectDataSource

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

  ### Returns

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

## introspectTables

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

  ### Returns

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

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

## testDataSource

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

  ### Returns

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

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

## deleteDataSource

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

## deleteDataSourceByName

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

## createDataPoolV2

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

  ### Returns

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

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

## modifyDataPool

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

  ### Returns

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

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

## retryDataPoolSetup

<ParamField path=" ">
  Retries to set up the Data Pool identified by the given ID.

  ### Arguments

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

  ### Returns

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## retryDataPoolSetupByName

<ParamField path=" ">
  Retries to set up the Data Pool identified by the given unique name.

  ### Arguments

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

  ### Returns

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## inspectDataPoolSchema

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

  ### Returns

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

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

## testDataPool

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

  ### Returns

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

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

## deleteDataPool

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

## deleteDataPoolByName

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

## disableSyncing

<ParamField path=" ">
  Disables syncing of a Data Pool.

  ### Arguments

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

  ### Returns

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## enableSyncing

<ParamField path=" ">
  Re-enables syncing of a Data Pool.

  ### Arguments

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

  ### Returns

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

      ### Arguments

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its PRIMARY KEY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="orderByColumns" type="[DataPoolColumn!]">
      The Data Pool's columns that participate in its ORDER BY clause.

      <Expandable title="DataPoolColumn">
        <ParamField path="columnName" type="String" required>
          The name of the Data Source column that this Data Pool column derives from.
        </ParamField>

        <ParamField path="type" type="ColumnType" required>
          The Data Pool column's type. This may differ from the corresponding Data Source column's type.

          See <a href="/docs/management-api/enums#columntype">ColumnType</a>
        </ParamField>

        <ParamField path="clickHouseType" type="String" required>
          The ClickHouse type. This is the exact representation of the type in ClickHouse.
        </ParamField>

        <ParamField path="isNullable" type="Boolean" required>
          Whether the column is nullable, meaning whether it accepts a null value.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="name" type="String" deprecated>
            The name of the Data Source column that this Data Pool column derives from.

            <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="error" type="Error" deprecated>
        <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

        <Expandable title="Error">
          The error object.

          <ParamField path="code" type="Int">
            The error code.
          </ParamField>

          <ParamField path="message" type="String" required>
            The error message.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="tenant" type="Tenant" deprecated>
        The Data Pool's tenant ID, if configured.

        <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

        <Expandable title="Tenant">
          A Data Pool's tenant ID column. The tenant ID column is used to control access to your data with access policies.

          <ParamField path="columnName" type="String" required>
            The name of the column that represents the tenant ID.
          </ParamField>

          <ParamField path="type" type="String" required>
            The tenant ID column's type.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="uniqueId" type="UniqueId" deprecated>
        The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

        <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

        <Expandable title="UniqueId">
          A Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

          <ParamField path="columnName" type="String" required>
            The name of the column that represents the unique ID.
          </ParamField>
        </Expandable>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## createCountMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## createCountDistinctMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## createSumMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## createAverageMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## createMinMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## createMaxMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## createCustomMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## modifyMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MetricResponse</div></div>

  <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>

## migrateMetric

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Metric</div></div>

  <Expandable title="Metric">
    The Metric object.

    A Metric is a business indicator measured over time.

    <ParamField path="id" type="ID" required>
      The Metric's unique identifier.
    </ParamField>

    <ParamField path="uniqueName" type="String" required>
      The Metric's unique name.
    </ParamField>

    <ParamField path="description" type="String" required>
      The Metric's description.
    </ParamField>

    <ParamField path="account" type="Account" required>
      The Metric's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment" required>
      The Metric's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Metric's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Metric's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Metric's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Metric's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataPool" type="DataPool">
      The Data Pool that powers this Metric.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="dimensions" type="[Dimension!]" required>
      The Metric's Dimensions. These Dimensions are available to Query Filters.

      <Expandable title="Dimension">
        The Dimension object that represents a column in a table.

        <ParamField path="columnName" type="String" required>
          The column name it represents.
        </ParamField>

        <ParamField path="type" type="String" required>
          The column data type.
        </ParamField>

        <ParamField path="isNullable" type="Boolean">
          Whether the column is nullable.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Whether the column is a unique key.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="stats" type="DimensionStatistics" deprecated>
            The statistics for the dimension values. Fetching statistics incurs query costs.

            <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

            See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="timestamp" type="Dimension">
      The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

      <Expandable title="Dimension">
        The Dimension object that represents a column in a table.

        <ParamField path="columnName" type="String" required>
          The column name it represents.
        </ParamField>

        <ParamField path="type" type="String" required>
          The column data type.
        </ParamField>

        <ParamField path="isNullable" type="Boolean">
          Whether the column is nullable.
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="isUniqueKey" type="Boolean" deprecated>
            Whether the column is a unique key.

            <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
          </ParamField>

          <ParamField path="stats" type="DimensionStatistics" deprecated>
            The statistics for the dimension values. Fetching statistics incurs query costs.

            <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

            See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="boosters" type="BoosterConnection" required>
      List the Boosters associated to the Metric.

      ### Arguments

      <ParamField notPatch path="first" type="Int" />

      <ParamField notPatch path="after" type="String" />

      <ParamField notPatch path="last" type="Int" />

      <ParamField notPatch path="before" type="String" />

      See <a href="/docs/management-api/types#boosterconnection">BoosterConnection</a>
    </ParamField>

    <ParamField path="type" type="MetricType" required>
      The Metric's type. The different Metric types determine how the values are calculated.

      <Expandable title="MetricType">
        The available Metric types.

        <ParamField path=" ">
          * `COUNT`:  Counts the number of records that matches the Metric Filters. For time series, it will count the values for each time granularity.
          * `SUM`: Sums the values of the specified column for every record that matches the Metric Filters. For time series, it will sum the values for each time granularity.
          * `COUNT_DISTINCT`: Counts the number of distinct values in the specified column for every record that matches the Metric Filters. For time series, it will count the distinct values for each time granularity.
          * `AVERAGE`: Averages the values of the specified column for every record that matches the Metric Filters. For time series, it will average the values for each time granularity.
          * `MIN`: Selects the minimum value of the specified column for every record that matches the Metric Filters. For time series, it will select the minimum value for each time granularity.
          * `MAX`: Selects the maximum value of the specified column for every record that matches the Metric Filters. For time series, it will select the maximum value for each time granularity.
          * `CUSTOM`: Aggregates values based on the provided custom expression.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="settings" type="MetricSettings" required>
      The settings for the Metric. The settings are specific to the Metric's type.

      <Expandable title="MetricSettings">
        A Metric's settings, depending on its type.

        <ParamField path="MetricSettings" type="CountMetricSettings | SumMetricSettings | CountDistinctMetricSettings | AverageMetricSettings | MinMetricSettings | MaxMetricSettings | CustomMetricSettings">
          See <a href="/docs/management-api/types#countmetricsettings">CountMetricSettings</a>

          See <a href="/docs/management-api/types#summetricsettings">SumMetricSettings</a>

          See <a href="/docs/management-api/types#countdistinctmetricsettings">CountDistinctMetricSettings</a>

          See <a href="/docs/management-api/types#averagemetricsettings">AverageMetricSettings</a>

          See <a href="/docs/management-api/types#minmetricsettings">MinMetricSettings</a>

          See <a href="/docs/management-api/types#maxmetricsettings">MaxMetricSettings</a>

          See <a href="/docs/management-api/types#custommetricsettings">CustomMetricSettings</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="measure" type="Dimension" deprecated>
        The Metric's measure. Access this from the Metric's `settings` object instead.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the Metric `settings` object instead.</span>

        <Expandable title="Dimension">
          The Dimension object that represents a column in a table.

          <ParamField path="columnName" type="String" required>
            The column name it represents.
          </ParamField>

          <ParamField path="type" type="String" required>
            The column data type.
          </ParamField>

          <ParamField path="isNullable" type="Boolean">
            Whether the column is nullable.
          </ParamField>

          <Expandable title="Deprecated Fields">
            <ParamField path="isUniqueKey" type="Boolean" deprecated>
              Whether the column is a unique key.

              <span style={{ fontStyle: 'italic' }}>deprecated: This is Snowflake-specific, and will be removed</span>
            </ParamField>

            <ParamField path="stats" type="DimensionStatistics" deprecated>
              The statistics for the dimension values. Fetching statistics incurs query costs.

              <span style={{ fontStyle: 'italic' }}>deprecated: Issue normal queries for calculating stats</span>

              See <a href="/docs/management-api/types#dimensionstatistics">DimensionStatistics</a>
            </ParamField>
          </Expandable>
        </Expandable>
      </ParamField>

      <ParamField path="counter" type="CounterResponse" deprecated>
        Query the Metric in counter format. Returns the Metric's value for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `counter` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="CounterInput" required>
          <Expandable title="CounterInput">
            The fields for querying a Metric in counter format.

            A Metric's counter query returns a single value over a given time range.

            <ParamField path="metric" type="MetricInput">
              The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the counter.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the counter data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the counter data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="CounterResponse">
          The counter response object. It contains a single Metric value for the given time range and Query Filters.

          <ParamField path="value" type="String">
            The value of the counter.
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="timeSeries" type="TimeSeriesResponse" deprecated>
        Query the Metric in time series format. Returns arrays of timestamps and the Metric's values for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `timeSeries` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="TimeSeriesInput" required>
          <Expandable title="TimeSeriesInput">
            The fields for querying a Metric in time series format.

            A Metric's time series query returns the values over a given time range aggregated by a given time granularity; day, month, or year, for example.

            <ParamField path="metric" type="MetricInput">
              The Metric to Query. It can be a pre-created one or it can be inlined here.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the time series.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="granularity" type="TimeSeriesGranularity" required>
              The time granularity (hour, day, month, etc.) to aggregate the Metric values by.

              See <a href="/docs/management-api/enums#timeseriesgranularity">TimeSeriesGranularity</a>
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the time series data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <ParamField path="groupBy" type="[String!]">
              Columns to group by.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the time series data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="TimeSeriesResponse">
          The time series response object. It contains an array of time series labels and an array of Metric values for the given time range and Query Filters.

          <ParamField path="labels" type="[String!]" required>
            The time series labels.
          </ParamField>

          <ParamField path="values" type="[String]" required>
            The time series values.
          </ParamField>

          <ParamField path="groups" type="[TimeSeriesResponseGroup!]">
            The time series values for each group in `groupBy`, if specified.

            See <a href="/docs/management-api/types#timeseriesresponsegroup">TimeSeriesResponseGroup</a>
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="leaderboard" type="LeaderboardResponse" deprecated>
        Query the Metric in leaderboard format. Returns a table (array of rows) with the selected dimensions and the Metric's corresponding values for the given time range and filters.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use the top-level `leaderboard` query instead</span>

        ### Arguments

        <ParamField notPatch path="input" type="LeaderboardInput" required>
          <Expandable title="LeaderboardInput">
            The fields for querying a Metric in leaderboard format.

            A Metric's leaderboard query returns an ordered table of Dimension and Metric values over a given time range.

            <ParamField path="metric" type="MetricInput">
              The Metric to query. You can query a pre-configured Metric by ID or name, or you can query an ad hoc Metric that you define inline.

              See <a href="/docs/management-api/inputs#metricinput">MetricInput</a>
            </ParamField>

            <ParamField path="timeRange" type="TimeRangeInput">
              The time range for calculating the leaderboard.

              See <a href="/docs/management-api/inputs#timerangeinput">TimeRangeInput</a>
            </ParamField>

            <ParamField path="timeZone" type="String">
              The time zone to use. Dates and times are always returned in UTC, but setting the time zone influences relative time ranges and granularities.

              You can set this to "America/Los\_Angeles", "Europe/Berlin", or any other value in the [IANA time zone database](https://en.wikipedia.org/wiki/Tz_database). Defaults to "UTC".
            </ParamField>

            <ParamField path="dimensions" type="[DimensionInput!]" required>
              One or many Dimensions to group the Metric values by. Typically, Dimensions in a leaderboard are what you want to compare and rank.

              See <a href="/docs/management-api/inputs#dimensioninput">DimensionInput</a>
            </ParamField>

            <ParamField path="sort" type="Sort">
              The sort order of the rows. It can be ascending (`ASC`) or descending (`DESC`) order. Defaults to descending (`DESC`) order when not provided.

              See <a href="/docs/management-api/enums#sort">Sort</a>
            </ParamField>

            <ParamField path="rowLimit" type="Int" required>
              The number of rows to be returned. It can be a number between 1 and 1,000.
            </ParamField>

            <ParamField path="filterSql" type="String">
              The Query Filters to apply before retrieving the leaderboard data, in the form of SQL. If no Query Filters are provided, all data is included.
            </ParamField>

            <Expandable title="Deprecated Fields">
              <ParamField path="metricId" type="ID" deprecated>
                The ID of the Metric to query.

                Required if `metricName` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="metricName" type="String" deprecated>
                The name of the Metric to query.

                Required if `metricId` is not specified.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `metric`</span>
              </ParamField>

              <ParamField path="filters" type="[FilterInput!]" deprecated>
                The Query Filters to apply before retrieving the leaderboard data. If no Query Filters are provided, all data is included.

                <span style={{ fontStyle: 'italic' }}>deprecated: Use `filterSql` instead</span>

                See <a href="/docs/management-api/inputs#filterinput">FilterInput</a>
              </ParamField>
            </Expandable>
          </Expandable>
        </ParamField>

        <Expandable title="LeaderboardResponse">
          The leaderboard response object. It contains an array of headers and a table (array of rows) with the selected Dimensions and corresponding Metric values for the given time range and Query Filters.

          <ParamField path="headers" type="[String!]" required>
            The table headers. It contains the Dimension and Metric names.
          </ParamField>

          <ParamField path="rows" type="[[String]!]" required>
            An ordered array of rows. Each row contains the Dimension values and the corresponding Metric value. A Dimension value can be empty. A Metric value will never be empty.
          </ParamField>

          <ParamField path="query" type="QueryInfo" required>
            The Query statistics and metadata.

            See <a href="/docs/management-api/types#queryinfo">QueryInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="policies" type="PolicyConnection" required deprecated>
        List the Policies associated to the Metric.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#policyconnection">PolicyConnection</a>
      </ParamField>

      <ParamField path="accessControlEnabled" type="Boolean" required deprecated>
        Whether or not access control is enabled for the Metric.

        <span style={{ fontStyle: 'italic' }}>deprecated: Use Data Pool Access Policies instead</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## deleteMetric

<ParamField path=" ">
  Deletes a Metric by ID and returns its ID if the Metric was deleted successfully.

  ### Arguments

  <ParamField notPatch path="id" type="ID" required />
</ParamField>

## deleteMetricByName

<ParamField path=" ">
  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>

## createBooster

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">BoosterResponse</div></div>

  <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>

## deleteBooster

<ParamField path=" ">
  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>

## createDeletionJob

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DeletionJobResponse</div></div>

  <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>

## createAddColumnToDataPoolJob

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">AddColumnToDataPoolJobResponse</div></div>

  <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>

## createUpdateDataPoolRecordsJob

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">UpdateDataPoolRecordsJobResponse</div></div>

  <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>

## syncDataPool

<ParamField path=" ">
  Manually trigger a Sync for a Data Pool.

  ### Arguments

  <ParamField notPatch path="dataPoolId" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Sync</div></div>

  <Expandable title="Sync">
    The Sync object.

    This represents the process of syncing data from your Data Source (for example, a Snowflake data warehouse) to your Data Pool.

    <ParamField path="id" type="ID" required>
      The Sync's unique identifier.
    </ParamField>

    <ParamField path="account" type="Account">
      The Sync's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment">
      The Sync's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Sync's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Sync's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Sync's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Sync's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataPool" type="DataPool">
      The Sync's Data Pool.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="dataSource" type="DataSource">
      The Sync's Data Pool's Data Source.

      <Expandable title="DataSource">
        The Data Source object.

        A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source.

        <ParamField path="id" type="ID" required>
          The Data Source's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Source's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Source's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Source's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Source's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Source's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Source's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="type" type="DataSourceType" required>
          The Data Source's type.

          See <a href="/docs/management-api/enums#datasourcetype">DataSourceType</a>
        </ParamField>

        <ParamField path="status" type="DataSourceStatus" required>
          The Data Source's status.

          See <a href="/docs/management-api/enums#datasourcestatus">DataSourceStatus</a>
        </ParamField>

        <ParamField path="connectionSettings" type="ConnectionSettings" required>
          The Data Source's connection settings.

          See <a href="/docs/management-api/unions#connectionsettings">ConnectionSettings</a>
        </ParamField>

        <ParamField path="tables" type="TableConnection">
          The tables contained within the Data Source, according to the most recent table introspection.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableconnection">TableConnection</a>
        </ParamField>

        <ParamField path="tableIntrospections" type="TableIntrospectionConnection">
          A list of table introspections performed for the Data Source. You can see how tables and columns changed over time by paging through this list.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableintrospectionconnection">TableIntrospectionConnection</a>
        </ParamField>

        <ParamField path="checks" type="[DataSourceCheck!]">
          A list of checks performed on the Data Source during its most recent connection attempt.

          See <a href="/docs/management-api/types#datasourcecheck">DataSourceCheck</a>
        </ParamField>

        <ParamField path="dataPools" type="DataPoolConnection">
          If you list Data Pools via the `dataPools` field on a Data Source, you will get Data Pools for the Data Source.

          The `dataPools` field uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

          For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

          For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolconnection">DataPoolConnection</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `checks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="processedRecords" type="String">
      The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.
    </ParamField>

    <ParamField path="size" type="String">
      The (compressed) size of the Sync, in bytes, if known.
    </ParamField>

    <ParamField path="status" type="SyncStatus" required>
      The status of the Sync (all Syncs begin as SYNCING before transitioning to SUCCEEDED or FAILED).

      <Expandable title="SyncStatus">
        The status of a Sync.

        <ParamField path=" ">
          * `SYNCING`:  Propel is actively syncing records contained within the Sync.
          * `SUCCEEDED`:  The Sync succeeded. Propel successfully synced all records contained within the Sync.
          * `FAILED`:  The Sync failed. Propel failed to sync some or all records contained within the Sync.
          * `DELETING`:  Propel is deleting the Sync.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="startedAt" type="DateTime">
      The time at which the Sync started.
    </ParamField>

    <ParamField path="succeededAt" type="DateTime">
      The time at which the Sync succeeded.
    </ParamField>

    <ParamField path="failedAt" type="DateTime">
      The time at which the Sync failed.
    </ParamField>

    <ParamField path="error" type="Error">
      If the Sync failed, this represents the reason the Sync failed.

      <Expandable title="Error">
        The error object.

        <ParamField path="code" type="Int">
          The error code.
        </ParamField>

        <ParamField path="message" type="String" required>
          The error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="newRecords" type="String" deprecated>
        The number of new records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="updatedRecords" type="String" deprecated>
        The number of updated records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="deletedRecords" type="String" deprecated>
        The number of deleted records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="invalidRecords" type="String" deprecated>
        The number of filtered records contained within the Sync, due to issues such as a missing timestamp Dimension, if any are known to be invalid.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## resyncDataPool

<ParamField path=" ">
  Manually trigger a re-Sync for a Data Pool.

  ### Arguments

  <ParamField notPatch path="dataPoolId" type="ID" required />

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">Sync</div></div>

  <Expandable title="Sync">
    The Sync object.

    This represents the process of syncing data from your Data Source (for example, a Snowflake data warehouse) to your Data Pool.

    <ParamField path="id" type="ID" required>
      The Sync's unique identifier.
    </ParamField>

    <ParamField path="account" type="Account">
      The Sync's Account.

      <Expandable title="Account">
        The Account object.

        <ParamField path="id" type="ID" required>
          The Account's unique identifier.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="environment" type="Environment">
      The Sync's Environment.

      <Expandable title="Environment">
        The Environments object.

        Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

        <ParamField path="id" type="ID" required>
          The Environment's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String">
          The Environment's unique name.
        </ParamField>

        <ParamField path="description" type="String">
          The Environment's description.
        </ParamField>

        <ParamField path="createdAt" type="DateTime">
          The Environment's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime">
          The Environment's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String">
          The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String">
          The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="account" type="Account">
          The Environment's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="createdAt" type="DateTime" required>
      The Sync's creation date and time in UTC.
    </ParamField>

    <ParamField path="modifiedAt" type="DateTime" required>
      The Sync's last modification date and time in UTC.
    </ParamField>

    <ParamField path="createdBy" type="String" required>
      The Sync's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
    </ParamField>

    <ParamField path="modifiedBy" type="String" required>
      The Sync's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
    </ParamField>

    <ParamField path="dataPool" type="DataPool">
      The Sync's Data Pool.
      See <a href="/docs/management-api/types#datapool">DataPool</a>
    </ParamField>

    <ParamField path="dataSource" type="DataSource">
      The Sync's Data Pool's Data Source.

      <Expandable title="DataSource">
        The Data Source object.

        A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source.

        <ParamField path="id" type="ID" required>
          The Data Source's unique identifier.
        </ParamField>

        <ParamField path="uniqueName" type="String" required>
          The Data Source's unique name.
        </ParamField>

        <ParamField path="description" type="String" required>
          The Data Source's description.
        </ParamField>

        <ParamField path="account" type="Account" required>
          The Data Source's Account.

          See <a href="/docs/management-api/types#account">Account</a>
        </ParamField>

        <ParamField path="environment" type="Environment" required>
          The Data Source's Environment.

          See <a href="/docs/management-api/types#environment">Environment</a>
        </ParamField>

        <ParamField path="createdAt" type="DateTime" required>
          The Data Source's creation date and time in UTC.
        </ParamField>

        <ParamField path="modifiedAt" type="DateTime" required>
          The Data Source's last modification date and time in UTC.
        </ParamField>

        <ParamField path="createdBy" type="String" required>
          The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
        </ParamField>

        <ParamField path="modifiedBy" type="String" required>
          The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
        </ParamField>

        <ParamField path="type" type="DataSourceType" required>
          The Data Source's type.

          See <a href="/docs/management-api/enums#datasourcetype">DataSourceType</a>
        </ParamField>

        <ParamField path="status" type="DataSourceStatus" required>
          The Data Source's status.

          See <a href="/docs/management-api/enums#datasourcestatus">DataSourceStatus</a>
        </ParamField>

        <ParamField path="connectionSettings" type="ConnectionSettings" required>
          The Data Source's connection settings.

          See <a href="/docs/management-api/unions#connectionsettings">ConnectionSettings</a>
        </ParamField>

        <ParamField path="tables" type="TableConnection">
          The tables contained within the Data Source, according to the most recent table introspection.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableconnection">TableConnection</a>
        </ParamField>

        <ParamField path="tableIntrospections" type="TableIntrospectionConnection">
          A list of table introspections performed for the Data Source. You can see how tables and columns changed over time by paging through this list.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#tableintrospectionconnection">TableIntrospectionConnection</a>
        </ParamField>

        <ParamField path="checks" type="[DataSourceCheck!]">
          A list of checks performed on the Data Source during its most recent connection attempt.

          See <a href="/docs/management-api/types#datasourcecheck">DataSourceCheck</a>
        </ParamField>

        <ParamField path="dataPools" type="DataPoolConnection">
          If you list Data Pools via the `dataPools` field on a Data Source, you will get Data Pools for the Data Source.

          The `dataPools` field uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters `first` and `after` or `last` and `before` to page forward or backward through the results, respectively.

          For forward pagination, the `first` parameter defines the number of results to return, and the `after` parameter defines the cursor to continue from. You should pass the cursor for the *last* result of the current page to `after`.

          For backward pagination, the `last` parameter defines the number of results to return, and the `before` parameter defines the cursor to continue from. You should pass the cursor for the *first* result of the current page to `before`.

          ### Arguments

          <ParamField notPatch path="first" type="Int" />

          <ParamField notPatch path="after" type="String" />

          <ParamField notPatch path="last" type="Int" />

          <ParamField notPatch path="before" type="String" />

          See <a href="/docs/management-api/types#datapoolconnection">DataPoolConnection</a>
        </ParamField>

        <Expandable title="Deprecated Fields">
          <ParamField path="error" type="Error" deprecated>
            <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `checks` instead</span>

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>
        </Expandable>
      </Expandable>
    </ParamField>

    <ParamField path="processedRecords" type="String">
      The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.
    </ParamField>

    <ParamField path="size" type="String">
      The (compressed) size of the Sync, in bytes, if known.
    </ParamField>

    <ParamField path="status" type="SyncStatus" required>
      The status of the Sync (all Syncs begin as SYNCING before transitioning to SUCCEEDED or FAILED).

      <Expandable title="SyncStatus">
        The status of a Sync.

        <ParamField path=" ">
          * `SYNCING`:  Propel is actively syncing records contained within the Sync.
          * `SUCCEEDED`:  The Sync succeeded. Propel successfully synced all records contained within the Sync.
          * `FAILED`:  The Sync failed. Propel failed to sync some or all records contained within the Sync.
          * `DELETING`:  Propel is deleting the Sync.
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField path="startedAt" type="DateTime">
      The time at which the Sync started.
    </ParamField>

    <ParamField path="succeededAt" type="DateTime">
      The time at which the Sync succeeded.
    </ParamField>

    <ParamField path="failedAt" type="DateTime">
      The time at which the Sync failed.
    </ParamField>

    <ParamField path="error" type="Error">
      If the Sync failed, this represents the reason the Sync failed.

      <Expandable title="Error">
        The error object.

        <ParamField path="code" type="Int">
          The error code.
        </ParamField>

        <ParamField path="message" type="String" required>
          The error message.
        </ParamField>
      </Expandable>
    </ParamField>

    <Expandable title="Deprecated Fields">
      <ParamField path="newRecords" type="String" deprecated>
        The number of new records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="updatedRecords" type="String" deprecated>
        The number of updated records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="deletedRecords" type="String" deprecated>
        The number of deleted records contained within the Sync, if known. This excludes filtered records.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>

      <ParamField path="invalidRecords" type="String" deprecated>
        The number of filtered records contained within the Sync, due to issues such as a missing timestamp Dimension, if any are known to be invalid.

        <span style={{ fontStyle: 'italic' }}>deprecated: All records are considered to be processed; see `processedRecords` instead</span>
      </ParamField>
    </Expandable>
  </Expandable>
</ParamField>

## createMaterializedView

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MaterializedViewResponse</div></div>

  <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>

## modifyMaterializedView

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">MaterializedViewResponse</div></div>

  <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>

## deleteMaterializedView

<ParamField path=" ">
  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>

## createAmazonDataFirehoseDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyAmazonDataFirehoseDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createAmazonDynamoDBDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyAmazonDynamoDBDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createClickHouseDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyClickHouseDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createHttpDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyHttpDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createKafkaDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyKafkaDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createPostgreSqlDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyPostgreSqlDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createS3DataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyS3DataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createTwilioSegmentDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyTwilioSegmentDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## createWebhookDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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>

## modifyWebhookDataSource

<ParamField path=" ">
  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>

  ### Returns

  <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataSourceResponse</div></div>

  <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">
  ## reconnectDataPool

  <ParamField path=" " 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>

    ### Returns

    <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">DataPool</div></div>

    <Expandable title="DataPool">
      The Data Pool object. Data Pools are Propel's high-speed data store and cache

      <ParamField path="id" type="ID" required>
        The Data Pool's unique identifier.
      </ParamField>

      <ParamField path="uniqueName" type="String" required>
        The Data Pool's unique name.
      </ParamField>

      <ParamField path="description" type="String" required>
        The Data Pool's description.
      </ParamField>

      <ParamField path="account" type="Account" required>
        The Data Pool's Account.

        <Expandable title="Account">
          The Account object.

          <ParamField path="id" type="ID" required>
            The Account's unique identifier.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="environment" type="Environment" required>
        The Data Pool's Environment.

        <Expandable title="Environment">
          The Environments object.

          Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

          <ParamField path="id" type="ID" required>
            The Environment's unique identifier.
          </ParamField>

          <ParamField path="uniqueName" type="String">
            The Environment's unique name.
          </ParamField>

          <ParamField path="description" type="String">
            The Environment's description.
          </ParamField>

          <ParamField path="createdAt" type="DateTime">
            The Environment's creation date and time in UTC.
          </ParamField>

          <ParamField path="modifiedAt" type="DateTime">
            The Environment's last modification date and time in UTC.
          </ParamField>

          <ParamField path="createdBy" type="String">
            The Environment's creator. It can be either a User ID, an Environment ID, or "system" if it was created by Propel.
          </ParamField>

          <ParamField path="modifiedBy" type="String">
            The Environment's last modifier. It can be either a User ID, an Environment ID, or "system" if it was modified by Propel.
          </ParamField>

          <ParamField path="account" type="Account">
            The Environment's Account.

            See <a href="/docs/management-api/types#account">Account</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="createdAt" type="DateTime" required>
        The Data Pool's creation date and time in UTC.
      </ParamField>

      <ParamField path="modifiedAt" type="DateTime" required>
        The Data Pool's last modification date and time in UTC.
      </ParamField>

      <ParamField path="createdBy" type="String" required>
        The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
      </ParamField>

      <ParamField path="modifiedBy" type="String" required>
        The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
      </ParamField>

      <ParamField path="dataSource" type="DataSource" required>
        The Data Pool's Data Source.
        See <a href="/docs/management-api/types#datasource">DataSource</a>
      </ParamField>

      <ParamField path="status" type="DataPoolStatus" required>
        The Data Pool's status.

        <Expandable title="DataPoolStatus">
          The status of a Data Pool.

          <ParamField path=" ">
            * `CREATED`:  The Data Pool has been created and will be set up soon.
            * `PENDING`:  Propel is attempting to set up the Data Pool.
            * `LIVE`:  The Data Pool is set up and serving data. Check its Syncs to monitor data ingestion.
            * `SETUP_FAILED`:  The Data Pool setup failed. Check its Setup Tasks before re-attempting setup.
            * `CONNECTING`
            * `CONNECTED`
            * `BROKEN`
            * `PAUSING`
            * `PAUSED`
            * `DELETING`:  Propel is deleting the Data Pool and all of its associated data.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="dataRetentionInDays" type="Int" required>
        The Data Pool's data retention in days (not yet supported).
      </ParamField>

      <ParamField path="table" type="String" required>
        The name of the Data Pool's table.
      </ParamField>

      <ParamField path="timestamp" type="Timestamp">
        The Data Pool's primary timestamp column, if any.

        <Expandable title="Timestamp">
          A Data Pool's primary timestamp column. Propel uses the primary timestamp to order and partition your data in Data Pools. It will serve as the time dimension for your Metrics.

          <ParamField path="columnName" type="String" required>
            The name of the column that represents the primary timestamp.
          </ParamField>

          <ParamField path="type" type="String" required>
            The primary timestamp column's type.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="recordCount" type="String">
        The number of records in the Data Pool.
      </ParamField>

      <ParamField path="sizeInTerabytes" type="Float">
        The amount of storage in terabytes used by the Data Pool.
      </ParamField>

      <ParamField path="columns" type="DataPoolColumnConnection">
        The Data Pool's columns.

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        <Expandable title="DataPoolColumnConnection">
          The Data Pool column connection object.

          Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

          <ParamField path="edges" type="[DataPoolColumnEdge!]" required>
            The Data Pool column connection's edges.

            See <a href="/docs/management-api/types#datapoolcolumnedge">DataPoolColumnEdge</a>
          </ParamField>

          <ParamField path="nodes" type="[DataPoolColumn!]" required>
            The Data Pool column connection's nodes.

            See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
          </ParamField>

          <ParamField path="pageInfo" type="PageInfo" required>
            The Data Pool column connection's page info.

            See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="availableMeasures" type="DataPoolColumnConnection">
        The list of measures (numeric columns) in the Data Pool.

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        <Expandable title="DataPoolColumnConnection">
          The Data Pool column connection object.

          Learn more about [pagination in GraphQL](https://www.propeldata.com/docs/api/pagination).

          <ParamField path="edges" type="[DataPoolColumnEdge!]" required>
            The Data Pool column connection's edges.

            See <a href="/docs/management-api/types#datapoolcolumnedge">DataPoolColumnEdge</a>
          </ParamField>

          <ParamField path="nodes" type="[DataPoolColumn!]" required>
            The Data Pool column connection's nodes.

            See <a href="/docs/management-api/types#datapoolcolumn">DataPoolColumn</a>
          </ParamField>

          <ParamField path="pageInfo" type="PageInfo" required>
            The Data Pool column connection's page info.

            See <a href="/docs/management-api/types#pageinfo">PageInfo</a>
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="setupTasks" type="[DataPoolSetupTask!]">
        A list of setup tasks performed on the Data Pool during its most recent setup attempt.

        <Expandable title="DataPoolSetupTask">
          The Data Pool Setup Task object.

          Data Pool Setup Tasks are executed when setting up your Data Pool. They ensure Propel will be able to sync records from your Data Source to your Data Pool.

          The exact Setup Tasks to perform vary by Data Source. For example, Data Pools pointing to a Snowflake-backed Data Sources will have their own specific Setup Tasks.

          <ParamField path="name" type="String" required>
            The name of the Data Pool Setup Task to be performed.
          </ParamField>

          <ParamField path="description" type="String">
            A description of the Data Pool Setup Task to be performed.
          </ParamField>

          <ParamField path="status" type="DataPoolSetupTaskStatus" required>
            The status of the Data Pool Setup Task (all setup tasks begin as NOT\_STARTED before transitioning to SUCCEEDED or FAILED).

            See <a href="/docs/management-api/enums#datapoolsetuptaskstatus">DataPoolSetupTaskStatus</a>
          </ParamField>

          <ParamField path="error" type="Error">
            If the Data Pool Setup Task failed, this field includes a descriptive error message.

            See <a href="/docs/management-api/types#error">Error</a>
          </ParamField>

          <ParamField path="completedAt" type="DateTime">
            The time at which the Data Pool Setup Task was completed.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="syncing" type="DataPoolSyncing" required>
        Settings related to Data Pool syncing.

        <Expandable title="DataPoolSyncing">
          Settings related to Data Pool syncing.

          <ParamField path="status" type="DataPoolSyncStatus" required>
            Indicates whether syncing is enabled or disabled.

            See <a href="/docs/management-api/enums#datapoolsyncstatus">DataPoolSyncStatus</a>
          </ParamField>

          <ParamField path="interval" type="DataPoolSyncInterval">
            The syncing interval.

            Note that the syncing interval is approximate. For example, setting the syncing interval to `EVERY_1_HOUR`
            does not mean that syncing will occur exactly on the hour. Instead, the syncing interval starts relative to
            when the Data Pool goes `LIVE`, and Propel will attempt to sync approximately every hour. Additionally,
            if you pause or resume syncing, this too can shift the syncing interval around.

            See <a href="/docs/management-api/enums#datapoolsyncinterval">DataPoolSyncInterval</a>
          </ParamField>

          <ParamField path="lastSyncedAt" type="DateTime">
            The date and time of the most recent Sync in UTC.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="syncs" type="SyncConnection">
        The list of Syncs of the Data Pool.

        ### Arguments

        <ParamField notPatch path="filter" type="SyncsFilter">
          <Expandable title="SyncsFilter">
            The filter to apply when listing the Syncs for a Data Pool.

            <ParamField path=" ">
              * `EMPTY`:  Returns only Syncs with empty records.
              * `NOT_EMPTY`:  Returns only Syncs that contain one or more records.
              * `ALL`:  Returns all Syncs, regardless of whether they contain records or not.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#syncconnection">SyncConnection</a>
      </ParamField>

      <ParamField path="metrics" type="MetricConnection">
        The list of Metrics powered by the Data Pool.

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#metricconnection">MetricConnection</a>
      </ParamField>

      <ParamField path="deletionJobs" type="DeletionJobConnection">
        The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#deletionjobconnection">DeletionJobConnection</a>
      </ParamField>

      <ParamField path="addColumnToDataPoolJobs" type="AddColumnToDataPoolJobConnection">
        The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#addcolumntodatapooljobconnection">AddColumnToDataPoolJobConnection</a>
      </ParamField>

      <ParamField path="updateDataPoolRecordsJobs" type="UpdateDataPoolRecordsJobConnection">
        The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#updatedatapoolrecordsjobconnection">UpdateDataPoolRecordsJobConnection</a>
      </ParamField>

      <ParamField path="accessControlEnabled" type="Boolean" required>
        Whether the Data Pool has access control enabled or not.

        If the Data Pool has access control enabled, Applications must be assigned Data Pool Access
        Policies in order to query the Data Pool and its Metrics.
      </ParamField>

      <ParamField path="dataPoolAccessPolicies" type="DataPoolAccessPolicyConnection" required>
        A paginated list of Data Pool Access Policies available on the Data Pool.

        ### Arguments

        <ParamField notPatch path="first" type="Int" />

        <ParamField notPatch path="after" type="String" />

        <ParamField notPatch path="last" type="Int" />

        <ParamField notPatch path="before" type="String" />

        See <a href="/docs/management-api/types#datapoolaccesspolicyconnection">DataPoolAccessPolicyConnection</a>
      </ParamField>

      <ParamField path="validateExpression" type="ValidateExpressionResult" required>
        Validates a custom expression against the Data Pool's available columns. If the provided expression is invalid, the ValidateExpressionResult response will contain a reason explaining why.

        ### Arguments

        <ParamField notPatch path="expression" type="String" required />

        <Expandable title="ValidateExpressionResult">
          Response returned by the validateExpression query for validating expressions in Custom Metrics.

          Returns whether the expression is valid or not with a reason explaining why.

          <ParamField path="valid" type="Boolean" required>
            True if the expression is valid, false otherwise.
          </ParamField>

          <ParamField path="reason" type="String">
            The reason for why the expression is not valid in case it isn't, null otherwise.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="tableSettings" type="TableSettings" required>
        The Data Pool's table settings.

        <Expandable title="TableSettings">
          A Data Pool's table settings.

          These describe how the Data Pool's table is created in ClickHouse.

          <ParamField path="engine" type="TableEngine">
            The ClickHouse table engine for the Data Pool's table.

            See <a href="/docs/management-api/unions#tableengine">TableEngine</a>
          </ParamField>

          <ParamField path="partitionBy" type="[String!]">
            The PARTITION BY clause for the Data Pool's table.
          </ParamField>

          <ParamField path="primaryKey" type="[String!]">
            The PRIMARY KEY clause for the Data Pool's table.
          </ParamField>

          <ParamField path="orderBy" type="[String!]">
            The ORDER BY clause for the Data Pool's table.
          </ParamField>

          <ParamField path="ttl" type="String">
            The TTL clause for the Data Pool's table.
          </ParamField>
        </Expandable>
      </ParamField>

      <ParamField path="partitionByColumns" type="[DataPoolColumn!]">
        The Data Pool's columns that participate in its PARTITION BY clause.

        <Expandable title="DataPoolColumn">
          <ParamField path="columnName" type="String" required>
            The name of the Data Source column that this Data Pool column derives from.
          </ParamField>

          <ParamField path="type" type="ColumnType" required>
            The Data Pool column's type. This may differ from the corresponding Data Source column's type.

            See <a href="/docs/management-api/enums#columntype">ColumnType</a>
          </ParamField>

          <ParamField path="clickHouseType" type="String" required>
            The ClickHouse type. This is the exact representation of the type in ClickHouse.
          </ParamField>

          <ParamField path="isNullable" type="Boolean" required>
            Whether the column is nullable, meaning whether it accepts a null value.
          </ParamField>

          <Expandable title="Deprecated Fields">
            <ParamField path="name" type="String" deprecated>
              The name of the Data Source column that this Data Pool column derives from.

              <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
            </ParamField>
          </Expandable>
        </Expandable>
      </ParamField>

      <ParamField path="primaryKeyColumns" type="[DataPoolColumn!]">
        The Data Pool's columns that participate in its PRIMARY KEY clause.

        <Expandable title="DataPoolColumn">
          <ParamField path="columnName" type="String" required>
            The name of the Data Source column that this Data Pool column derives from.
          </ParamField>

          <ParamField path="type" type="ColumnType" required>
            The Data Pool column's type. This may differ from the corresponding Data Source column's type.

            See <a href="/docs/management-api/enums#columntype">ColumnType</a>
          </ParamField>

          <ParamField path="clickHouseType" type="String" required>
            The ClickHouse type. This is the exact representation of the type in ClickHouse.
          </ParamField>

          <ParamField path="isNullable" type="Boolean" required>
            Whether the column is nullable, meaning whether it accepts a null value.
          </ParamField>

          <Expandable title="Deprecated Fields">
            <ParamField path="name" type="String" deprecated>
              The name of the Data Source column that this Data Pool column derives from.

              <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
            </ParamField>
          </Expandable>
        </Expandable>
      </ParamField>

      <ParamField path="orderByColumns" type="[DataPoolColumn!]">
        The Data Pool's columns that participate in its ORDER BY clause.

        <Expandable title="DataPoolColumn">
          <ParamField path="columnName" type="String" required>
            The name of the Data Source column that this Data Pool column derives from.
          </ParamField>

          <ParamField path="type" type="ColumnType" required>
            The Data Pool column's type. This may differ from the corresponding Data Source column's type.

            See <a href="/docs/management-api/enums#columntype">ColumnType</a>
          </ParamField>

          <ParamField path="clickHouseType" type="String" required>
            The ClickHouse type. This is the exact representation of the type in ClickHouse.
          </ParamField>

          <ParamField path="isNullable" type="Boolean" required>
            Whether the column is nullable, meaning whether it accepts a null value.
          </ParamField>

          <Expandable title="Deprecated Fields">
            <ParamField path="name" type="String" deprecated>
              The name of the Data Source column that this Data Pool column derives from.

              <span style={{ fontStyle: 'italic' }}>deprecated: Start using `columnName` instead</span>
            </ParamField>
          </Expandable>
        </Expandable>
      </ParamField>

      <Expandable title="Deprecated Fields">
        <ParamField path="error" type="Error" deprecated>
          <span style={{ fontStyle: 'italic' }}>deprecated: Refer to `setupTasks` instead</span>

          <Expandable title="Error">
            The error object.

            <ParamField path="code" type="Int">
              The error code.
            </ParamField>

            <ParamField path="message" type="String" required>
              The error message.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="tenant" type="Tenant" deprecated>
          The Data Pool's tenant ID, if configured.

          <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use Data Pool Access Policies instead</span>

          <Expandable title="Tenant">
            A Data Pool's tenant ID column. The tenant ID column is used to control access to your data with access policies.

            <ParamField path="columnName" type="String" required>
              The name of the column that represents the tenant ID.
            </ParamField>

            <ParamField path="type" type="String" required>
              The tenant ID column's type.
            </ParamField>
          </Expandable>
        </ParamField>

        <ParamField path="uniqueId" type="UniqueId" deprecated>
          The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

          <span style={{ fontStyle: 'italic' }}>deprecated: Will be removed; use table settings to define the primary key.</span>

          <Expandable title="UniqueId">
            A Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

            <ParamField path="columnName" type="String" required>
              The name of the column that represents the unique ID.
            </ParamField>
          </Expandable>
        </ParamField>
      </Expandable>
    </Expandable>
  </ParamField>

  ## createPolicy

  <ParamField path=" " 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>

    ### Returns

    <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">PolicyResponse</div></div>

    <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>

  ## modifyPolicy

  <ParamField path=" " 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>

    ### Returns

    <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Nullable</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">PolicyResponse</div></div>

    <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>

  ## deletePolicy

  <ParamField path=" " 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>

  ## requestDelete

  <ParamField path=" " 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>

    ### Returns

    <div class="return-label flex items-center gap-2 font-mono text-sm"><span style={{ fontWeight: 700 }}>Non-null</span><div class="px-2 py-0.5 rounded-md bg-gray-100/50 dark:bg-white/5 text-gray-600 dark:text-gray-200 text-xs font-medium">RequestDeleteResponse</div></div>

    <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>
