Skip to main content

Mutations

assignDataPoolAccessPolicyToApplication

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

  • dataPoolAccessPolicy required ID

  • application required ID


Returns

Nullable ID

createAddColumnToDataPoolJob

Schedules a new AddColumnToDataPoolJob on the specified Data Pool.

Arguments

  • input required CreateAddColumnToDataPoolJobInput

    The fields for creating an Add Column Job.

    • input.dataPool required ID

      The Data Pool to which the column will be added.

    • input.columnName required String

      Name of the new column.

    • input.columnType required ColumnType

      Type of the new column.

      The Propel data types.

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

    • input.jsonProperty optional String

      JSON property to which the new column corresponds.


Returns

Non-null AddColumnToDataPoolJobResponse

The response returned by the Add Column Job.

createApplication

Creates a new Application and returns the newly created Application (or an error message if creating the Application fails).

Learn more about Applications.

Arguments

  • input required createApplicationInput

    The fields for creating an Application.

    • input.uniqueName optional String

      The Application's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Application's description.

    • input.propeller optional Propeller

      The Application's Propeller. If no Propeller is provided, Propel will set the Propeller to P1_X_SMALL.

      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.

      Learn more about Data Sources.

      • 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

    • input.scopes optional array of 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.

      The API operations an Application is authorized to perform.

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

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


Returns

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

createAverageMetric

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

Learn more about Metrics.

Arguments

  • input optional CreateAverageMetricInput

    The fields for creating a new Average Metric.

    • input.dataPool required ID

      The Data Pool that powers this Metric.

    • input.uniqueName optional String

      The Metric's unique name.

    • input.description optional String

      The Metric's description.

    • input.filters optional array of FilterInput

      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.

    • input.dimensions optional array of DimensionInput

      The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

    • input.measure required DimensionInput

      The column to be averaged.


Returns

Nullable MetricResponse

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

createBooster

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

  • input required 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
    • input.metric required ID

      The Booster's Metric.

    • input.dimensions required array of DimensionInput

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

Returns

Nullable BoosterResponse

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

createCountDistinctMetric

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

Learn more about Metrics.

Arguments

  • input optional CreateCountDistinctMetricInput

    The fields for creating a new Count Distinct Metric.

    • input.dataPool required ID

      The Data Pool that powers this Metric.

    • input.uniqueName optional String

      The Metric's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Metric's description.

    • input.filters optional array of FilterInput

      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.

    • input.dimensions optional array of DimensionInput

      The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

    • input.dimension required DimensionInput

      The Dimension over which the count distinct operation is going to be performed.


Returns

Nullable MetricResponse

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

createCountMetric

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

Learn more about Metrics.

Arguments

  • input optional CreateCountMetricInput

    The fields for creating a new Count Metric.

    • input.dataPool required ID

      The Data Pool that powers this Metric.

    • input.uniqueName optional String

      The Metric's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Metric's description.

    • input.filters optional array of FilterInput

      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.

    • input.dimensions optional array of DimensionInput

      The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.


Returns

Nullable MetricResponse

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

createCustomMetric

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

Learn more about Metrics.

Arguments

  • input optional CreateCustomMetricInput

    The fields for creating a new Custom Metric.

    • input.dataPool required ID

      The Data Pool that powers this Metric.

    • input.uniqueName optional String

      The Metric's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Metric's description.

    • input.filters optional array of FilterInput

      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.

    • input.dimensions optional array of DimensionInput

      The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

    • input.expression required String

      The expression that defines the aggregation function for this Metric.


Returns

Nullable MetricResponse

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

createDataPoolAccessPolicy

Creates a Data Pool Access Policy for the specified Data Pool.

Learn more about Data Pool Access Policy.

Arguments

  • input required CreateDataPoolAccessPolicyInput

    • input.uniqueName optional String

      The Data Pool Access Policy's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Data Pool Access Policy's description.

    • input.dataPool required ID

      The Data Pool to which the Access Policy belongs.

    • input.columns required array of String

      Columns that the Access Policy makes available for querying.

      If set to ["*"], all columns will be available for querying.

    • input.rows optional array of FilterInput

      Row-level filters that the Access Policy applies before executing queries.


Returns

Non-null DataPoolAccessPolicyResponse

createDataPoolV2

Creates a new Data Pool from the given Data Source based on the specified table and using a particular column as the timestamp.

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

Learn more about Data Pools.

Arguments

  • input required CreateDataPoolInputV2

    The fields for creating a Data Pool.

    • input.dataSource optional ID

      The Data Source that will be used to create the Data Pool.

    • input.table optional String

      The table that the Data Pool will sync from.

    • input.timestamp optional 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.

    • input.uniqueName optional String

      The Data Pool's unique name. If not specified, Propel will set the ID as the unique name.

    • input.description optional String

      The Data Pool's description.

    • input.columns required array of DataPoolColumnInput

      The list of columns.

    • input.uniqueId optional UniqueIdInput

      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.

    • input.syncing optional DataPoolSyncingInput

      The Data Pool's syncing settings.

    • input.accessControlEnabled optional 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.

    • input.tableSettings optional 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.


Returns

Nullable DataPoolResponse

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

createDeletionJob

Schedules a new Deletion Job on the specified Data Pool.

Arguments

  • input required CreateDeletionJobInput

    The fields for creating a Deletion Job.

    • input.dataPool required ID

      The Data Pool that is going to get the data deleted

    • input.filters required array of FilterInput

      The list of filters that will be used for deleting data. Data matching these filters will be deleted.


Returns

Non-null DeletionJobResponse

The response returned by the Deletion Job.

createHttpDataSource

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

  • input required CreateHttpDataSourceInput

    • input.connectionSettings required HttpConnectionSettingsInput

      The HTTP Data Source's connection settings

    • input.description optional String

      The HTTP Data Source's description.

    • input.uniqueName optional String

      The HTTP Data Source's unique name. If not specified, Propel will set the ID as unique name.


Returns

Non-null DataSourceResponse

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

createKafkaDataSource

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

  • input required CreateKafkaDataSourceInput

    • input.connectionSettings required KafkaConnectionSettingsInput

      The Kafka Data Source's connection settings

    • input.description optional String

      The Kafka Data Source's description.

    • input.uniqueName optional String

      The Kafka Data Source's unique name. If not specified, Propel will set the ID as unique name.


Returns

Non-null DataSourceResponse

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

createMaxMetric

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

Learn more about Metrics.

Arguments

  • input optional CreateMaxMetricInput

    The fields for creating a new Maximum (Max) Metric.

    • input.dataPool required ID

      The Data Pool that powers this Metric.

    • input.uniqueName optional String

      The Metric's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Metric's description.

    • input.filters optional array of FilterInput

      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.

    • input.dimensions optional array of DimensionInput

      The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

    • input.measure required DimensionInput

      The column to calculate the maximum from.


Returns

Nullable MetricResponse

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

createMinMetric

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

Learn more about Metrics.

Arguments

  • input optional CreateMinMetricInput

    The fields for creating a new Minimum (Min) Metric.

    • input.dataPool required ID

      The Data Pool that powers this Metric.

    • input.uniqueName optional String

      The Metric's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Metric's description.

    • input.filters optional array of FilterInput

      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.

    • input.dimensions optional array of DimensionInput

      The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

    • input.measure required DimensionInput


Returns

Nullable MetricResponse

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

createS3DataSource

Creates a new Amazon S3 Data Source pointed at the specified S3 bucket.

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

Arguments

  • input required CreateS3DataSourceInput

    • input.connectionSettings required S3ConnectionSettingsInput

      The S3 Data Source's connection settings

    • input.description optional String

      The S3 Data Source's description.

    • input.uniqueName optional String

      The S3 Data Source's unique name. If not specified, Propel will set the ID as unique name.


Returns

Non-null DataSourceResponse

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

createSnowflakeDataSource

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

  • input required createSnowflakeDataSourceInput

    The fields for creating a Snowflake Data Source.


Returns

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

createSumMetric

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

Learn more about Metrics.

Arguments

  • input optional CreateSumMetricInput

    The fields for creating a new Sum Metric.

    • input.dataPool required ID

      The Data Pool that powers this Metric.

    • input.uniqueName optional String

      The Metric's unique name. If not specified, Propel will set the ID as unique name.

    • input.description optional String

      The Metric's description.

    • input.filters optional array of FilterInput

      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.

    • input.dimensions optional array of DimensionInput

      The Metric's Dimensions. Dimensions define the columns that will be available to filter the Metric at query time.

    • input.measure required DimensionInput

      The column to be summed.


Returns

Nullable MetricResponse

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

createUpdateDataPoolRecordsJob

Schedules a new UpdateDataPoolRecords Job on the specified Data Pool.

Arguments

  • input required CreateUpdateDataPoolRecordsJobInput

    The fields for creating an Update Data Pool Records Job.

    • input.dataPool required ID

      The Data Pool that is going to get its records updated.

    • input.filters required array of FilterInput

      The list of filters that will be used for updating records. Records matching these filters will be updated.

    • input.set required array of UpdateDataPoolRecordsJobSetColumnInput

      Describes how the job will update the records.


Returns

Non-null UpdateDataPoolRecordsJobResponse

The response returned by the Update Data Pool Records Job.

createWebhookDataSource

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

  • input required CreateWebhookDataSourceInput

    • input.connectionSettings required WebhookConnectionSettingsInput

      The Webhook Data Source's connection settings

    • input.description optional String

      The Webhook Data Source's description.

    • input.uniqueName optional String

      The Webhook Data Source's unique name. If not specified, Propel will set the ID as unique name.


Returns

Non-null DataSourceResponse

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

deleteApplication

Deletes an Application by ID and returns its ID if the Application was deleted successfully.

Learn more about Applications.

Arguments

  • id required ID


Returns

Nullable ID

deleteApplicationByName

Deletes an Application by unique name and returns its ID if the Application was deleted successfully.

Learn more about Applications.

Arguments


Returns

Nullable ID

deleteBooster

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

  • id required ID


Returns

Nullable ID

deleteDataPool

Deletes a Data Pool by ID and returns its ID if the Data Pool was deleted successfully.

Arguments

  • id required ID


Returns

Nullable ID

deleteDataPoolAccessPolicy

Deletes a Data Pool Access Policy by ID and returns its ID if the Data Pool Access Policy was deleted successfully.

Learn more about Data Pool Access Policy.

Arguments

  • id required ID


Returns

Nullable ID

deleteDataPoolByName

Deletes a Data Pool by unique name and returns its ID if the Data Pool was deleted successfully.

Arguments


Returns

Nullable ID

deleteDataSource

Deletes a Data Source by ID and returns its ID if the Data Source was deleted successfully.

Arguments

  • id required ID


Returns

Nullable ID

deleteDataSourceByName

Deletes a Data Source by unique name and returns its ID if the Data Source was deleted successfully.

Arguments


Returns

Nullable ID

deleteMetric

Deletes a Metric by ID and returns its ID if the Metric was deleted successfully.

Arguments

  • id required ID


Returns

Nullable ID

deleteMetricByName

Deletes a Metric by unique name and returns its ID if the Metric was deleted successfully.

Arguments


Returns

Nullable ID

disableSyncing

Disables syncing of a Data Pool.

Arguments

  • id required ID


Returns

Nullable DataPool

The Data Pool object. Data Pools are Propel's high-speed data store and cache

Learn more about Data Pools.

  • disableSyncing.id non-null ID

    The Data Pool's unique identifier.

  • disableSyncing.uniqueName non-null String

    The Data Pool's unique name.

  • disableSyncing.description non-null String

    The Data Pool's description.

  • disableSyncing.account non-null Account

    The Data Pool's Account.

  • disableSyncing.environment non-null Environment

    The Data Pool's Environment.

  • disableSyncing.createdAt non-null DateTime

    The Data Pool's creation date and time in UTC.

  • disableSyncing.modifiedAt non-null DateTime

    The Data Pool's last modification date and time in UTC.

  • disableSyncing.createdBy non-null String

    The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • disableSyncing.modifiedBy non-null String

    The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • disableSyncing.dataSource non-null DataSource

    The Data Pool's Data Source.

  • disableSyncing.status non-null DataPoolStatus

    The Data Pool's status.

    The status of a Data Pool.

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

    • DELETING

      Propel is deleting the Data Pool and all of its associated data.

  • disableSyncing.dataRetentionInDays non-null Int

    The Data Pool's data retention in days (not yet supported).

  • disableSyncing.table non-null String

    The name of the Data Pool's table.

  • disableSyncing.timestamp nullable Timestamp

    The Data Pool's primary timestamp column, if any.

  • disableSyncing.uniqueId nullable UniqueId

    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.

  • disableSyncing.recordCount nullable String

    The number of records in the Data Pool.

  • disableSyncing.sizeInTerabytes nullable Float

    The amount of storage in terabytes used by the Data Pool.

  • disableSyncing.columns nullable DataPoolColumnConnection

    The Data Pool's columns.

  • disableSyncing.availableMeasures nullable DataPoolColumnConnection

    The list of measures (numeric columns) in the Data Pool.

  • disableSyncing.setupTasks nullable array of DataPoolSetupTask

    A list of setup tasks performed on the Data Pool during its most recent setup attempt.

  • disableSyncing.syncing non-null DataPoolSyncing

    Settings related to Data Pool syncing.

  • disableSyncing.syncs nullable SyncConnection

    The list of Syncs of the Data Pool.

    • disableSyncing.syncs.first optional Int

    • disableSyncing.syncs.after optional String

    • disableSyncing.syncs.last optional Int

    • disableSyncing.syncs.before optional String

  • disableSyncing.metrics nullable MetricConnection

    The list of Metrics powered by the Data Pool.

  • disableSyncing.deletionJobs nullable DeletionJobConnection

    The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • disableSyncing.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

    The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • disableSyncing.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

    The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • disableSyncing.accessControlEnabled non-null Boolean

    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.

  • disableSyncing.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

    A paginated list of Data Pool Access Policies available on the Data Pool.

  • disableSyncing.validateExpression non-null ValidateExpressionResult

    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.

  • disableSyncing.tableSettings nullable TableSettings

    The Data Pool's table settings.

  • disableSyncing.partitionByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PARTITION BY clause.

  • disableSyncing.primaryKeyColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PRIMARY KEY clause.

  • disableSyncing.orderByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its ORDER BY clause.

enableSyncing

Re-enables syncing of a Data Pool.

Arguments

  • id required ID


Returns

Nullable DataPool

The Data Pool object. Data Pools are Propel's high-speed data store and cache

Learn more about Data Pools.

  • enableSyncing.id non-null ID

    The Data Pool's unique identifier.

  • enableSyncing.uniqueName non-null String

    The Data Pool's unique name.

  • enableSyncing.description non-null String

    The Data Pool's description.

  • enableSyncing.account non-null Account

    The Data Pool's Account.

  • enableSyncing.environment non-null Environment

    The Data Pool's Environment.

  • enableSyncing.createdAt non-null DateTime

    The Data Pool's creation date and time in UTC.

  • enableSyncing.modifiedAt non-null DateTime

    The Data Pool's last modification date and time in UTC.

  • enableSyncing.createdBy non-null String

    The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • enableSyncing.modifiedBy non-null String

    The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • enableSyncing.dataSource non-null DataSource

    The Data Pool's Data Source.

  • enableSyncing.status non-null DataPoolStatus

    The Data Pool's status.

    The status of a Data Pool.

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

    • DELETING

      Propel is deleting the Data Pool and all of its associated data.

  • enableSyncing.dataRetentionInDays non-null Int

    The Data Pool's data retention in days (not yet supported).

  • enableSyncing.table non-null String

    The name of the Data Pool's table.

  • enableSyncing.timestamp nullable Timestamp

    The Data Pool's primary timestamp column, if any.

  • enableSyncing.uniqueId nullable UniqueId

    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.

  • enableSyncing.recordCount nullable String

    The number of records in the Data Pool.

  • enableSyncing.sizeInTerabytes nullable Float

    The amount of storage in terabytes used by the Data Pool.

  • enableSyncing.columns nullable DataPoolColumnConnection

    The Data Pool's columns.

  • enableSyncing.availableMeasures nullable DataPoolColumnConnection

    The list of measures (numeric columns) in the Data Pool.

  • enableSyncing.setupTasks nullable array of DataPoolSetupTask

    A list of setup tasks performed on the Data Pool during its most recent setup attempt.

  • enableSyncing.syncing non-null DataPoolSyncing

    Settings related to Data Pool syncing.

  • enableSyncing.syncs nullable SyncConnection

    The list of Syncs of the Data Pool.

    • enableSyncing.syncs.first optional Int

    • enableSyncing.syncs.after optional String

    • enableSyncing.syncs.last optional Int

    • enableSyncing.syncs.before optional String

  • enableSyncing.metrics nullable MetricConnection

    The list of Metrics powered by the Data Pool.

  • enableSyncing.deletionJobs nullable DeletionJobConnection

    The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • enableSyncing.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

    The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • enableSyncing.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

    The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • enableSyncing.accessControlEnabled non-null Boolean

    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.

  • enableSyncing.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

    A paginated list of Data Pool Access Policies available on the Data Pool.

  • enableSyncing.validateExpression non-null ValidateExpressionResult

    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.

  • enableSyncing.tableSettings nullable TableSettings

    The Data Pool's table settings.

  • enableSyncing.partitionByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PARTITION BY clause.

  • enableSyncing.primaryKeyColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PRIMARY KEY clause.

  • enableSyncing.orderByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its ORDER BY clause.

inspectDataPoolSchema

Extracts the schema from the table and updates the schema object.

Arguments

  • input required idOrUniqueName

    The ID or unique name input.

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

    • input.id optional String

      The unique identifier of the object.

    • input.uniqueName optional String

      The unique name of the object.


Returns

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

introspectTables

Introspects the tables in a Data Source.

Returns the tables along with when they were last cached from the Data Source.

Arguments

  • input required idOrUniqueName

    The ID or unique name input.

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

    • input.id optional String

      The unique identifier of the object.

    • input.uniqueName optional String

      The unique name of the object.


Returns

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

  • introspectTables.dataSource non-null DataSource

    The Data Source the table introspection was performed for.

  • introspectTables.status non-null TableIntrospectionStatus

    The status of the table introspection.

    The status of a table introspection.

    • NOT_STARTED

      The table introspection has not started.

    • STARTED

      The table introspection has started.

    • SUCCEEDED

      The table introspection succeeded.

    • FAILED

      The table introspection failed.

  • introspectTables.createdAt non-null DateTime

    The table introspection's creation date and time in UTC.

  • introspectTables.createdBy non-null String

    The table introspection's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • introspectTables.modifiedAt non-null DateTime

    The table introspection's last modification date and time in UTC.

  • introspectTables.modifiedBy non-null String

    The table introspection's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • introspectTables.numTables nullable Int

    The number of tables introspected.

  • introspectTables.tables nullable TableConnection

    The tables introspected.

migrateMetric

Migrates a Metric from one Data Pool to another.

Arguments

  • input required MigrateMetricInput

    The fields for migrating a Metric's Data Pool.

    • input.metricId required ID

      The Metric that is going to be migrated.

    • input.newDataPoolId required ID

      The DataPool to which the Metric is going to be migrated.


Returns

Nullable Metric

The Metric object.

A Metric is a business indicator measured over time.

Learn more about Metrics.

  • migrateMetric.id non-null ID

    The Metric's unique identifier.

  • migrateMetric.uniqueName non-null String

    The Metric's unique name.

  • migrateMetric.description non-null String

    The Metric's description.

  • migrateMetric.account non-null Account

    The Metric's Account.

  • migrateMetric.environment non-null Environment

    The Metric's Environment.

  • migrateMetric.createdAt non-null DateTime

    The Metric's creation date and time in UTC.

  • migrateMetric.modifiedAt non-null DateTime

    The Metric's last modification date and time in UTC.

  • migrateMetric.createdBy non-null String

    The Metric's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • migrateMetric.modifiedBy non-null String

    The Metric's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • migrateMetric.dataPool nullable DataPool

    The Data Pool that powers this Metric.

  • migrateMetric.dimensions non-null array of Dimension

    The Metric's Dimensions. These Dimensions are available to Query Filters.

  • migrateMetric.timestamp nullable Dimension

    The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

  • migrateMetric.boosters non-null BoosterConnection

    List the Boosters associated to the Metric.

  • migrateMetric.type non-null MetricType

    The Metric's type. The different Metric types determine how the values are calculated.

    The available Metric types.

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

  • migrateMetric.settings non-null MetricSettings

    The settings for the Metric. The settings are specific to the Metric's type.


modifyApplication

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.

Learn more about Applications.

Arguments

  • input required modifyApplicationInput

    The fields for modifying an Application.

    • input.idOrUniqueName required idOrUniqueName

      The ID or unique name of the Application to modify.

    • input.uniqueName optional String

      The Application's new unique name.

    • input.description optional String

      The Application's new description.

    • input.propeller optional Propeller

      The Application's new 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.

      Learn more about Data Sources.

      • 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

    • input.scopes optional array of ApplicationScope

      The Application's new API authorization scopes.

      The API operations an Application is authorized to perform.

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

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


Returns

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

modifyDataPool

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

  • input required modifyDataPoolInput

    The fields for modifying a Data Pool.

    • input.idOrUniqueName required idOrUniqueName

      The ID or unique name of the Data Pool to modify.

    • input.uniqueName optional String

      The Data Pool's new unique name.

    • input.description optional String

      The Data Pool's new description.

    • input.dataRetentionInDays optional Int

      The Data Pool's new data retention in days.

    • input.syncing optional DataPoolSyncingInput

      The Data Pool's new syncing settings.

    • input.accessControlEnabled optional 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.


Returns

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

modifyDataPoolAccessPolicy

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.

Learn more about Data Pool Access Policy.

Arguments

  • input required ModifyDataPoolAccessPolicyInput

    • input.id required ID

    • input.uniqueName optional String

      The Data Pool Access Policy's new unique name.

    • input.description optional String

      The Data Pool Access Policy's new description.

    • input.columns optional array of String

      Columns that the Access Policy makes available for querying. If not provided this property will not be modified.

    • input.rows optional array of FilterInput

      Row-level filters that the Access Policy applies before executing queries. If not provided this property will not be modified.


Returns

Non-null DataPoolAccessPolicyResponse

modifyHttpDataSource

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

  • input required ModifyHttpDataSourceInput

    • input.connectionSettings optional PartialHttpConnectionSettingsInput

      The HTTP Data Source's new connection settings. If not provided this property will not be modified.

    • input.description optional String

      The HTTP Data Source's new description. If not provided this property will not be modified.

    • input.idOrUniqueName required idOrUniqueName

      The ID or unique name of the HTTP Data Source to modify.

    • input.uniqueName optional String

      The HTTP Data Source's new unique name. If not provided this property will not be modified.


Returns

Non-null DataSourceResponse

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

modifyKafkaDataSource

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

  • input required ModifyKafkaDataSourceInput

    • input.connectionSettings optional PartialKafkaConnectionSettingsInput

      The Kafka Data Source's new connection settings. If not provided this property will not be modified.

    • input.description optional String

      The Kafka Data Source's new description. If not provided this property will not be modified.

    • input.idOrUniqueName required idOrUniqueName

      The ID or unique name of the Kafka Data Source to modify.

    • input.uniqueName optional String

      The Kafka Data Source's new unique name. If not provided this property will not be modified.


Returns

Non-null DataSourceResponse

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

modifyMetric

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

  • input optional ModifyMetricInput

    The fields for modifying a Metric.

    • input.metric required ID

      The ID of the Metric to modify.

    • input.uniqueName optional String

      The Metric's new unique name.

    • input.description optional String

      The Metric's new description.

    • input.dimensions optional array of DimensionInput

      The Metric's new Dimensions. Used to add or remove Dimensions.

    • input.filters optional array of FilterInput

      The Metric's new Filters. Used to add or remove Metric Filters.

    • input.accessControlEnabled optional Boolean

      Enables or disables access control for the Metric.


Returns

Nullable MetricResponse

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

modifyS3DataSource

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

  • input required ModifyS3DataSourceInput

    • input.connectionSettings optional PartialS3ConnectionSettingsInput

      The S3 Data Source's new connection settings. If not provided this property will not be modified.

    • input.description optional String

      The S3 Data Source's new description. If not provided this property will not be modified.

    • input.idOrUniqueName required idOrUniqueName

      The ID or unique name of the S3 Data Source to modify.

    • input.uniqueName optional String

      The S3 Data Source's new unique name. If not provided this property will not be modified.


Returns

Non-null DataSourceResponse

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

modifySnowflakeDataSource

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

  • input required modifySnowflakeDataSourceInput

    The fields for modifying a Snowflake Data Source.


Returns

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

modifyWebhookDataSource

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

  • input required ModifyWebhookDataSourceInput

    • input.connectionSettings optional PartialWebhookConnectionSettingsInput

      The Webhook Data Source's new connection settings. If not provided this property will not be modified.

    • input.description optional String

      The Webhook Data Source's new description. If not provided this property will not be modified.

    • input.idOrUniqueName required idOrUniqueName

      The ID or unique name of the Webhook Data Source to modify.

    • input.uniqueName optional String

      The Webhook Data Source's new unique name. If not provided this property will not be modified.


Returns

Non-null DataSourceResponse

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

reconnectDataSource

Attempts to reconnect a Data Source. The mutation then returns the Data Source object.

Arguments

  • input required idOrUniqueName

    The ID or unique name input.

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

    • input.id optional String

      The unique identifier of the object.

    • input.uniqueName optional String

      The unique name of the object.


Returns

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

Learn more about Data Sources.

  • reconnectDataSource.id non-null ID

    The Data Source's unique identifier.

  • reconnectDataSource.uniqueName non-null String

    The Data Source's unique name.

  • reconnectDataSource.description non-null String

    The Data Source's description.

  • reconnectDataSource.account non-null Account

    The Data Source's Account.

  • reconnectDataSource.environment non-null Environment

    The Data Source's Environment.

  • reconnectDataSource.createdAt non-null DateTime

    The Data Source's creation date and time in UTC.

  • reconnectDataSource.modifiedAt non-null DateTime

    The Data Source's last modification date and time in UTC.

  • reconnectDataSource.createdBy non-null String

    The Data Source's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • reconnectDataSource.modifiedBy non-null String

    The Data Source's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • reconnectDataSource.type non-null DataSourceType

    The Data Source's type.

    The types of Data Sources.

    • WEBHOOK

      Indicates a Webhook Data Source.

    • S3

      Indicates an S3 Data Source.

    • Redshift

      Indicates a Redshift Data Source.

    • KAFKA

      Indicates a Kafka Data Source.

    • Http

      Indicates an Http Data Source.

    • CLICKHOUSE

      Indicates a ClickHouse Data Source.

    • Snowflake

      Indicates a Snowflake Data Source.

    • INTERNAL

      Indicates an internal Data Source.

  • reconnectDataSource.status non-null DataSourceStatus

    The Data Source's status.

    The status of a Data Source.

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

  • reconnectDataSource.connectionSettings non-null ConnectionSettings

    The Data Source's connection settings.


  • reconnectDataSource.tables nullable TableConnection

    The tables contained within the Data Source, according to the most recent table introspection.

  • reconnectDataSource.tableIntrospections nullable 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.

  • reconnectDataSource.checks nullable array of DataSourceCheck

    A list of checks performed on the Data Source during its most recent connection attempt.

  • reconnectDataSource.dataPools nullable 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.

resyncDataPool

Manually trigger a re-Sync for a Data Pool.

Arguments

  • dataPoolId required ID


Returns

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

  • resyncDataPool.id non-null ID

    The Sync's unique identifier.

  • resyncDataPool.account nullable Account

    The Sync's Account.

  • resyncDataPool.environment nullable Environment

    The Sync's Environment.

  • resyncDataPool.createdAt non-null DateTime

    The Sync's creation date and time in UTC.

  • resyncDataPool.modifiedAt non-null DateTime

    The Sync's last modification date and time in UTC.

  • resyncDataPool.createdBy non-null String

    The Sync's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • resyncDataPool.modifiedBy non-null String

    The Sync's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • resyncDataPool.dataPool nullable DataPool

    The Sync's Data Pool.

  • resyncDataPool.dataSource nullable DataSource

    The Sync's Data Pool's Data Source.

  • resyncDataPool.processedRecords nullable String

    The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.

  • resyncDataPool.size nullable String

    The (compressed) size of the Sync, in bytes, if known.

  • resyncDataPool.status non-null SyncStatus

    The status of the Sync (all Syncs begin as SYNCING before transitioning to SUCCEEDED or FAILED).

    The status of a Sync.

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

  • resyncDataPool.startedAt nullable DateTime

    The time at which the Sync started.

  • resyncDataPool.succeededAt nullable DateTime

    The time at which the Sync succeeded.

  • resyncDataPool.failedAt nullable DateTime

    The time at which the Sync failed.

  • resyncDataPool.error nullable Error

    If the Sync failed, this represents the reason the Sync failed.

retryDataPoolSetup

Retries to set up the Data Pool identified by the given ID.

Arguments

  • id required ID


Returns

Nullable DataPool

The Data Pool object. Data Pools are Propel's high-speed data store and cache

Learn more about Data Pools.

  • retryDataPoolSetup.id non-null ID

    The Data Pool's unique identifier.

  • retryDataPoolSetup.uniqueName non-null String

    The Data Pool's unique name.

  • retryDataPoolSetup.description non-null String

    The Data Pool's description.

  • retryDataPoolSetup.account non-null Account

    The Data Pool's Account.

  • retryDataPoolSetup.environment non-null Environment

    The Data Pool's Environment.

  • retryDataPoolSetup.createdAt non-null DateTime

    The Data Pool's creation date and time in UTC.

  • retryDataPoolSetup.modifiedAt non-null DateTime

    The Data Pool's last modification date and time in UTC.

  • retryDataPoolSetup.createdBy non-null String

    The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • retryDataPoolSetup.modifiedBy non-null String

    The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • retryDataPoolSetup.dataSource non-null DataSource

    The Data Pool's Data Source.

  • retryDataPoolSetup.status non-null DataPoolStatus

    The Data Pool's status.

    The status of a Data Pool.

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

    • DELETING

      Propel is deleting the Data Pool and all of its associated data.

  • retryDataPoolSetup.dataRetentionInDays non-null Int

    The Data Pool's data retention in days (not yet supported).

  • retryDataPoolSetup.table non-null String

    The name of the Data Pool's table.

  • retryDataPoolSetup.timestamp nullable Timestamp

    The Data Pool's primary timestamp column, if any.

  • retryDataPoolSetup.uniqueId nullable UniqueId

    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.

  • retryDataPoolSetup.recordCount nullable String

    The number of records in the Data Pool.

  • retryDataPoolSetup.sizeInTerabytes nullable Float

    The amount of storage in terabytes used by the Data Pool.

  • retryDataPoolSetup.columns nullable DataPoolColumnConnection

    The Data Pool's columns.

  • retryDataPoolSetup.availableMeasures nullable DataPoolColumnConnection

    The list of measures (numeric columns) in the Data Pool.

  • retryDataPoolSetup.setupTasks nullable array of DataPoolSetupTask

    A list of setup tasks performed on the Data Pool during its most recent setup attempt.

  • retryDataPoolSetup.syncing non-null DataPoolSyncing

    Settings related to Data Pool syncing.

  • retryDataPoolSetup.syncs nullable SyncConnection

    The list of Syncs of the Data Pool.

    • retryDataPoolSetup.syncs.first optional Int

    • retryDataPoolSetup.syncs.after optional String

    • retryDataPoolSetup.syncs.last optional Int

    • retryDataPoolSetup.syncs.before optional String

  • retryDataPoolSetup.metrics nullable MetricConnection

    The list of Metrics powered by the Data Pool.

  • retryDataPoolSetup.deletionJobs nullable DeletionJobConnection

    The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • retryDataPoolSetup.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

    The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • retryDataPoolSetup.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

    The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • retryDataPoolSetup.accessControlEnabled non-null Boolean

    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.

  • retryDataPoolSetup.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

    A paginated list of Data Pool Access Policies available on the Data Pool.

  • retryDataPoolSetup.validateExpression non-null ValidateExpressionResult

    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.

  • retryDataPoolSetup.tableSettings nullable TableSettings

    The Data Pool's table settings.

  • retryDataPoolSetup.partitionByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PARTITION BY clause.

  • retryDataPoolSetup.primaryKeyColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PRIMARY KEY clause.

  • retryDataPoolSetup.orderByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its ORDER BY clause.

retryDataPoolSetupByName

Retries to set up the Data Pool identified by the given unique name.

Arguments


Returns

Nullable DataPool

The Data Pool object. Data Pools are Propel's high-speed data store and cache

Learn more about Data Pools.

  • retryDataPoolSetupByName.id non-null ID

    The Data Pool's unique identifier.

  • retryDataPoolSetupByName.uniqueName non-null String

    The Data Pool's unique name.

  • retryDataPoolSetupByName.description non-null String

    The Data Pool's description.

  • retryDataPoolSetupByName.account non-null Account

    The Data Pool's Account.

  • retryDataPoolSetupByName.environment non-null Environment

    The Data Pool's Environment.

  • retryDataPoolSetupByName.createdAt non-null DateTime

    The Data Pool's creation date and time in UTC.

  • retryDataPoolSetupByName.modifiedAt non-null DateTime

    The Data Pool's last modification date and time in UTC.

  • retryDataPoolSetupByName.createdBy non-null String

    The Data Pool's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • retryDataPoolSetupByName.modifiedBy non-null String

    The Data Pool's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • retryDataPoolSetupByName.dataSource non-null DataSource

    The Data Pool's Data Source.

  • retryDataPoolSetupByName.status non-null DataPoolStatus

    The Data Pool's status.

    The status of a Data Pool.

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

    • DELETING

      Propel is deleting the Data Pool and all of its associated data.

  • retryDataPoolSetupByName.dataRetentionInDays non-null Int

    The Data Pool's data retention in days (not yet supported).

  • retryDataPoolSetupByName.table non-null String

    The name of the Data Pool's table.

  • retryDataPoolSetupByName.timestamp nullable Timestamp

    The Data Pool's primary timestamp column, if any.

  • retryDataPoolSetupByName.uniqueId nullable UniqueId

    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.

  • retryDataPoolSetupByName.recordCount nullable String

    The number of records in the Data Pool.

  • retryDataPoolSetupByName.sizeInTerabytes nullable Float

    The amount of storage in terabytes used by the Data Pool.

  • retryDataPoolSetupByName.columns nullable DataPoolColumnConnection

    The Data Pool's columns.

  • retryDataPoolSetupByName.availableMeasures nullable DataPoolColumnConnection

    The list of measures (numeric columns) in the Data Pool.

  • retryDataPoolSetupByName.setupTasks nullable array of DataPoolSetupTask

    A list of setup tasks performed on the Data Pool during its most recent setup attempt.

  • retryDataPoolSetupByName.syncing non-null DataPoolSyncing

    Settings related to Data Pool syncing.

  • retryDataPoolSetupByName.syncs nullable SyncConnection

    The list of Syncs of the Data Pool.

    • retryDataPoolSetupByName.syncs.first optional Int

    • retryDataPoolSetupByName.syncs.after optional String

    • retryDataPoolSetupByName.syncs.last optional Int

    • retryDataPoolSetupByName.syncs.before optional String

  • retryDataPoolSetupByName.metrics nullable MetricConnection

    The list of Metrics powered by the Data Pool.

  • retryDataPoolSetupByName.deletionJobs nullable DeletionJobConnection

    The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • retryDataPoolSetupByName.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

    The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • retryDataPoolSetupByName.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

    The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.

  • retryDataPoolSetupByName.accessControlEnabled non-null Boolean

    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.

  • retryDataPoolSetupByName.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

    A paginated list of Data Pool Access Policies available on the Data Pool.

  • retryDataPoolSetupByName.validateExpression non-null ValidateExpressionResult

    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.

  • retryDataPoolSetupByName.tableSettings nullable TableSettings

    The Data Pool's table settings.

  • retryDataPoolSetupByName.partitionByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PARTITION BY clause.

  • retryDataPoolSetupByName.primaryKeyColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PRIMARY KEY clause.

  • retryDataPoolSetupByName.orderByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its ORDER BY clause.

syncDataPool

Manually trigger a Sync for a Data Pool.

Arguments

  • dataPoolId required ID


Returns

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

  • syncDataPool.id non-null ID

    The Sync's unique identifier.

  • syncDataPool.account nullable Account

    The Sync's Account.

  • syncDataPool.environment nullable Environment

    The Sync's Environment.

  • syncDataPool.createdAt non-null DateTime

    The Sync's creation date and time in UTC.

  • syncDataPool.modifiedAt non-null DateTime

    The Sync's last modification date and time in UTC.

  • syncDataPool.createdBy non-null String

    The Sync's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • syncDataPool.modifiedBy non-null String

    The Sync's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • syncDataPool.dataPool nullable DataPool

    The Sync's Data Pool.

  • syncDataPool.dataSource nullable DataSource

    The Sync's Data Pool's Data Source.

  • syncDataPool.processedRecords nullable String

    The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.

  • syncDataPool.size nullable String

    The (compressed) size of the Sync, in bytes, if known.

  • syncDataPool.status non-null SyncStatus

    The status of the Sync (all Syncs begin as SYNCING before transitioning to SUCCEEDED or FAILED).

    The status of a Sync.

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

  • syncDataPool.startedAt nullable DateTime

    The time at which the Sync started.

  • syncDataPool.succeededAt nullable DateTime

    The time at which the Sync succeeded.

  • syncDataPool.failedAt nullable DateTime

    The time at which the Sync failed.

  • syncDataPool.error nullable Error

    If the Sync failed, this represents the reason the Sync failed.

testDataPool

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

  • input required idOrUniqueName

    The ID or unique name input.

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

    • input.id optional String

      The unique identifier of the object.

    • input.uniqueName optional String

      The unique name of the object.


Returns

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

testDataSource

Tests that Propel can actually connect to the data warehouse. Updates the status.

Arguments

  • input required idOrUniqueName

    The ID or unique name input.

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

    • input.id optional String

      The unique identifier of the object.

    • input.uniqueName optional String

      The unique name of the object.


Returns

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

unAssignDataPoolAccessPolicyFromApplication

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

  • dataPoolAccessPolicy required ID

  • application required ID


Returns

Nullable ID