IdOrUniqueName

The ID or unique name input.

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

id
String

The unique identifier of the object.

uniqueName
String

The unique name of the object.

CreateEnvironmentInput

The fields for creating an Environment.

uniqueName
String
required

The Environment’s unique name.

description
String

The Environment’s description.

ModifyEnvironmentInput

The fields for modifying an Environment.

id
ID
required
uniqueName
String

The Environment’s unique name.

description
String

The Environment’s description.

CreateApplicationInput

The fields for creating an Application.

uniqueName
String

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

description
String

The Application’s description.

propeller
Propeller

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

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

ModifyApplicationInput

The fields for modifying an Application.

idOrUniqueName
idOrUniqueName
required

The ID or unique name of the Application to modify.

uniqueName
String

The Application’s new unique name.

description
String

The Application’s new description.

propeller
Propeller

The Application’s new Propeller.

scopes
[ApplicationScope!]

The Application’s new API authorization scopes.

CreateSnowflakeDataSourceInput

The fields for creating a Snowflake Data Source.

uniqueName
String

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

description
String

The Data Source’s description.

connectionSettings
SnowflakeConnectionSettingsInput
required

The Data Source’s connection settings.

ModifySnowflakeDataSourceInput

The fields for modifying a Snowflake Data Source.

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

The Data Source’s new unique name.

description
String

The Data Source’s new description.

connectionSettings
PartialSnowflakeConnectionSettingsInput

The Data Source’s new connection settings.

SnowflakeConnectionSettingsInput

The fields for creating a Snowflake Data Source’s connection settings.

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

database
String
required

The Snowflake database name.

warehouse
String
required

The Snowflake warehouse name. It should be “PROPELLING” if you used the default name in the setup script.

schema
String
required

The Snowflake schema.

username
String
required

The Snowflake username. It should be “PROPEL” if you used the default name in the setup script.

password
String
required

The Snowflake password.

role
String
required

The Snowflake role. It should be “PROPELLER” if you used the default name in the setup script.

PartialSnowflakeConnectionSettingsInput

The fields for modifying a Snowflake Data Source’s connection settings.

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

database
String

The Snowflake database name. If not provided this property will not be modified.

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

schema
String

The Snowflake schema. If not provided this property will not be modified.

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

password
String

The Snowflake password. If not provided this property will not be modified.

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

HttpBasicAuthInput

The fields for specifying an HTTP Data Source’s Basic authentication settings.

username
String
required

The username for HTTP Basic authentication that must be included in the Authorization header when uploading new data.

password
String
required

The password for HTTP Basic authentication that must be included in the Authorization header when uploading new data.

HttpDataSourceTableInput

The fields for specifying an HTTP Data Source’s table.

name
String
required

The name of the table

columns
[HttpDataSourceColumnInput!]
required

All the columns present in the table

HttpDataSourceColumnInput

The fields for specifying a column in an HTTP Data Source’s table.

name
String
required

The column name. It has to be unique within a Table.

type
ColumnType
required

The column type.

clickHouseType
String

The ClickHouse type to use when type is set to CLICKHOUSE.

nullable
Boolean
required

Whether the column’s type is nullable or not.

S3DataSourceTableInput

The fields for specifying an S3 Data Source’s table.

name
String
required

The name of the table

path
String

The path to the table’s files in S3.

columns
[S3DataSourceColumnInput!]
required

All the columns present in the table

S3DataSourceColumnInput

The fields for specifying a column in an S3 Data Source’s table.

name
String
required

The column name. It has to be unique within a Table.

type
ColumnType
required

The column type.

nullable
Boolean
required

Whether the column’s type is nullable or not.

WebhookDataSourceColumnInput

The fields for specifying a column in an Webhook Data Source’s table.

name
String
required

The column name. It has to be unique within a Table.

jsonProperty
String
required

The JSON property that the column will be derived from. For example, if you POST a JSON event like this:

{ "greeting": { "message": "hello, world" } }

Then you can use the JSON property “greeting.message” to extract “hello, world” to a column.

type
ColumnType
required

The column type.

nullable
Boolean
required

Whether the column’s type is nullable or not.

TableSettingsInput

A Data Pool’s table settings.

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

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

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

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

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

ttl
String

The TTL clause for the Data Pool’s table.

TableEngineInput

A Data Pool’s table engine.

mergeTree
MergeTreeTableEngineInput

Field for specifying the MergeTree table engine.

replacingMergeTree
ReplacingMergeTreeTableEngineInput

Field for specifying the ReplacingMergeTree table engine.

summingMergeTree
SummingMergeTreeTableEngineInput

Field for specifying the SummingMergeTree table engine.

aggregatingMergeTree
AggregatingMergeTreeTableEngineInput

Field for specifying the AggregatingMergeTree table engine.

postgreSql
PostgreSqlTableEngineInput

Field for specifying the PostgreSQL table engine.

MergeTreeTableEngineInput

Parameters for the MergeTree table engine.

type
TableEngineType

The type is always MERGE_TREE.

ReplacingMergeTreeTableEngineInput

Parameters for the ReplacingMergeTree table engine.

type
TableEngineType

The type is always REPLACING_MERGE_TREE.

ver
String

The ver parameter to the ReplacingMergeTree engine.

SummingMergeTreeTableEngineInput

Parameters for the SummingMergeTree table engine.

type
TableEngineType

The type is always SUMMING_MERGE_TREE.

columns
[String!]

The columns argument for the SummingMergeTree table engine

AggregatingMergeTreeTableEngineInput

Parameters for the AggregatingMergeTree table engine.

type
TableEngineType

The type is always AGGREGATING_MERGE_TREE.

PostgreSqlTableEngineInput

Parameters for the PostgreSQL table engine.

type
TableEngineType

The type is always POSTGRESQL.

BackfillOptionsInput

backfill
Boolean

Whether historical data should be backfilled or not

CreateMaterializedViewInput

The fields for creating a Materialized View.

uniqueName
String

The Materialized View’s unique name. If not specified, Propel will set the ID as the unique name.

description
String

The Materialized View’s description.

sql
String
required

The SQL that the Materialized View will execute.

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

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

ModifyMaterializedViewInput

The fields for modifying a Materialized View.

id
ID
required

The ID of the Materialized View to modify.

uniqueName
String

The Materialized View’s new unique name.

description
String

The Materialized View’s new description.

CreateMaterializedViewDestinationInput

The fields for targeting an existing Data Pool or a new Data Pool.

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

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

CreateMaterializedViewDestinationNewDataPoolInput

The fields for customizing a new Data Pool that a Materialized View will target.

uniqueName
String

The Data Pool’s unique name.

description
String

The Data Pool’s description.

timestamp
TimestampInput

Optionally specify the Data Pool’s primary timestamp. This will influence the Data Pool’s engine settings.

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

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

DimensionInput

The fields for creating or modifying a Dimension.

columnName
String
required

The name of the column to create the Dimension from.

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.

columnName
String
required

The name of the column that represents the primary timestamp.

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.

columnName
String
required

The name of the column that represents the tenant ID.

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.

columnName
String
required

The name of the column that represents the unique ID.

DataPoolColumnInput

columnName
String
required

The name of the Data Source column that this Data Pool column derives from.

type
ColumnType
required

The Data Pool column’s type. This may differ from the corresponding Data Source column’s type.

clickHouseType
String

The ClickHouse type to use when type is set to CLICKHOUSE.

isNullable
Boolean
required

Whether the column is nullable, meaning whether it accepts a null value.

CreateDataPoolInputV2

The fields for creating a Data Pool.

dataSource
ID

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

table
String

The table that the Data Pool will sync from.

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

uniqueName
String

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

description
String

The Data Pool’s description.

columns
[DataPoolColumnInput!]

The list of columns.

syncing
DataPoolSyncingInput

The Data Pool’s syncing settings.

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

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

ModifyDataPoolInput

The fields for modifying a Data Pool.

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

The Data Pool’s new unique name.

description
String

The Data Pool’s new description.

dataRetentionInDays
Int

The Data Pool’s new data retention in days.

syncing
DataPoolSyncingInput

The Data Pool’s new syncing settings.

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

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

DataPoolSyncingInput

The fields for modifying the Data Pool syncing.

interval
DataPoolSyncInterval
required

DataGridInput

The fields for querying Data Grid records.

dataPool
DataPoolInput
required

The Data Pool to be queried.

timeRange
TimeRangeInput

The time range for retrieving the records.

timeZone
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. Defaults to “UTC”.

columns
[String!]
required

The columns to retrieve.

orderByColumn
Int

The index of the column to order the table by. The index is 1-based. If not provided, records will be ordered by their timestamp by default.

sort
Sort

The sort order of the rows. It can be ascending (ASC) or descending (DESC) order. Defaults to descending (DESC) order when not provided.

filterSql
String

The filters to apply to the records, in the form of SQL. You may only filter on columns included in the columns array input.

first
Int

The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.

after
String

The cursor to use when paging forward.

last
Int

The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.

before
String

The cursor to use when paging backward.

MetricReportInput

The fields for querying a Metric Report.

A Metric Report is a table whose columns include dimensions and Metric values, calculated over a given time range.

timeRange
TimeRangeInput

The time range for calculating the Metric Report.

timeZone
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. Defaults to “UTC”.

dimensions
[MetricReportDimensionInput!]
required

One or many dimensions to group the Metric values by. Typically, dimensions in a report are what you want to compare and rank.

metrics
[MetricReportMetricInput!]
required

One or more Metrics to include in the Metric Report. These will be broken down by dimensions.

filterSql
String

The Query Filters to apply when building the Metric Report, in the form of SQL. These can be used to filter out rows.

orderByColumn
Int

The index of the column to order the Metric Report by. The index is 1-based and defaults to the first Metric column. In other words, by default, reports are ordered by the first Metric; however, you can order by the second Metric, third Metric, etc., by overriding the orderByColumn input. You can also order by dimensions this way.

first
Int

The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.

after
String

The cursor to use when paging forward.

last
Int

The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.

before
String

The cursor to use when paging backward.

MetricReportDimensionInput

The fields for specifying a dimension to include in a Metric Report.

columnName
String
required

The column name of the dimension to include in a Metric Report. This must match the name of a Data Pool column.

displayName
String

The name to display in the headers array when displaying the report. This defaults to the column name if unspecified.

sort
Sort

The sort order for the dimension. It can be ascending (ASC) or descending (DESC) order. Defaults to ascending (ASC) order when not provided.

MetricReportMetricInput

The fields for specifying a Metric to include in a Metric Report.

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

displayName
String

The name to display in the headers array when displaying the report. This defaults to the Metric’s unique name if unspecified.

filterSql
String

The Query Filters to apply when calculating the Metric, in the form of SQL.

sort
Sort

The sort order for the Metric. It can be ascending (ASC) or descending (DESC) order. Defaults to descending (DESC) order when not provided.

CreateCountMetricInput

The fields for creating a new Count Metric.

dataPool
ID
required

The Data Pool that powers this Metric.

uniqueName
String

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

description
String

The Metric’s description.

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

dimensions
[DimensionInput!]

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

CreateSumMetricInput

The fields for creating a new Sum Metric.

dataPool
ID
required

The Data Pool that powers this Metric.

uniqueName
String

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

description
String

The Metric’s description.

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

dimensions
[DimensionInput!]

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

measure
DimensionInput
required

The column to be summed.

CreateAverageMetricInput

The fields for creating a new Average Metric.

dataPool
ID
required

The Data Pool that powers this Metric.

uniqueName
String

The Metric’s unique name.

description
String

The Metric’s description.

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

dimensions
[DimensionInput!]

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

measure
DimensionInput
required

The column to be averaged.

CreateMinMetricInput

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

dataPool
ID
required

The Data Pool that powers this Metric.

uniqueName
String

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

description
String

The Metric’s description.

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

dimensions
[DimensionInput!]

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

measure
DimensionInput
required

CreateMaxMetricInput

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

dataPool
ID
required

The Data Pool that powers this Metric.

uniqueName
String

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

description
String

The Metric’s description.

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

dimensions
[DimensionInput!]

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

measure
DimensionInput
required

The column to calculate the maximum from.

CreateCountDistinctMetricInput

The fields for creating a new Count Distinct Metric.

dataPool
ID
required

The Data Pool that powers this Metric.

uniqueName
String

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

description
String

The Metric’s description.

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

dimensions
[DimensionInput!]

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

dimension
DimensionInput
required

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

CreateCustomMetricInput

The fields for creating a new Custom Metric.

dataPool
ID
required

The Data Pool that powers this Metric.

uniqueName
String

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

description
String

The Metric’s description.

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

dimensions
[DimensionInput!]

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

expression
String
required

The expression that defines the aggregation function for this Metric.

ModifyMetricInput

The fields for modifying a Metric.

metric
ID
required

The ID of the Metric to modify.

uniqueName
String

The Metric’s new unique name.

description
String

The Metric’s new description.

dimensions
[DimensionInput!]

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

filterSql
String

The Metric’s new Filters, in the form of SQL. Used to add or remove Metric Filters.

accessControlEnabled
Boolean

Enables or disables access control for the Metric.

MigrateMetricInput

The fields for migrating a Metric’s Data Pool.

metricId
ID
required

The Metric that is going to be migrated.

newDataPoolId
ID
required

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

DataPoolInput

id
ID

The ID of the Data Pool.

name
String

The name of the Data Pool.

CustomMetricQueryInput

dataPool
DataPoolInput
required

The Data Pool to which this Metric belongs.

expression
String
required

Custom expression for defining the Metric.

CountMetricQueryInput

dataPool
DataPoolInput
required

The Data Pool to which this Metric belongs.

SumMetricQueryInput

dataPool
DataPoolInput
required

The Data Pool to which this Metric belongs.

measure
DimensionInput
required

The column to be summed.

AverageMetricQueryInput

dataPool
DataPoolInput
required

The Data Pool to which this Metric belongs.

measure
DimensionInput
required

The column to be averaged.

MinMetricQueryInput

dataPool
DataPoolInput
required

The Data Pool to which this Metric belongs.

measure
DimensionInput
required

The column to calculate the minimum from.

MaxMetricQueryInput

dataPool
DataPoolInput
required

The Data Pool to which this Metric belongs.

measure
DimensionInput
required

The column to calculate the maximum from.

CountDistinctMetricQueryInput

dataPool
DataPoolInput
required

The Data Pool to which this Metric belongs.

dimension
DimensionInput
required

The column to count distinct values from.

MetricInput

id
ID

The ID of a pre-configured Metric.

name
String

The name of a pre-configured Metric.

custom
CustomMetricQueryInput

An ad hoc Custom Metric.

count
CountMetricQueryInput

An ad hoc Count Metric.

sum
SumMetricQueryInput

An ad hoc Sum Metric.

average
AverageMetricQueryInput

An ad hoc Average Metric.

min
MinMetricQueryInput

An ad hoc Min Metric.

max
MaxMetricQueryInput

An ad hoc Max Metric.

countDistinct
CountDistinctMetricQueryInput

An ad hoc Count Distinct Metric.

CounterInput

The fields for querying a Metric in counter format.

A Metric’s counter query returns a single value over a given time range.

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

timeRange
TimeRangeInput

The time range for calculating the counter.

timeZone
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. Defaults to “UTC”.

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

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.

metric
MetricInput

The Metric to Query. It can be a pre-created one or it can be inlined here.

timeRange
TimeRangeInput

The time range for calculating the time series.

timeZone
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. Defaults to “UTC”.

granularity
TimeSeriesGranularity
required

The time granularity (hour, day, month, etc.) to aggregate the Metric values by.

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

groupBy
[String!]

Columns to group by.

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.

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

timeRange
TimeRangeInput

The time range for calculating the leaderboard.

timeZone
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. Defaults to “UTC”.

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

sort
Sort

The sort order of the rows. It can be ascending (ASC) or descending (DESC) order. Defaults to descending (DESC) order when not provided.

rowLimit
Int
required

The number of rows to be returned. It can be a number between 1 and 1,000.

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

TimeRangeInput

The fields required to specify the time range for a time series, counter, or leaderboard Metric query.

If no relative or absolute time ranges are provided, Propel defaults to an absolute time range beginning with the earliest record in the Metric’s Data Pool and ending with the latest record.

If both relative and absolute time ranges are provided, the relative time range will take precedence.

If a LAST_N relative time period is selected, an n ≥ 1 must be provided. If no n is provided or n < 1, a BAD_REQUEST error will be returned.

timestamp
String

The timestamp field to use when querying. Defaults to the timestamp configured on the Data Pool or Metric, if any. Set this to filter on an alternative timestamp field.

relative
RelativeTimeRange

The relative time period.

n
Int

The number of time units for the LAST_N relative periods.

start
DateTime

The optional start timestamp (inclusive). Defaults to the timestamp of the earliest record in the Data Pool.

stop
DateTime

The optional end timestamp (exclusive). Defaults to the timestamp of the latest record in the Data Pool.

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.

column
String
required

The name of the column to filter on.

operator
FilterOperator
required

The operation to perform when comparing the column and filter values.

value
String

The value to compare the column to.

and
[FilterInput!]

Additional filters to AND with this one. AND takes precedence over OR.

or
[FilterInput!]

Additional filters to OR with this one. AND takes precedence over OR.

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)"
}
column
String
required

The name of the column to update.

expression
String
required

The value to which the column will be updated. Once evaluated, it should be of the same data type as the column.

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
metric
ID
required

The Booster’s Metric.

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

CreatePolicyInput

The fields for creating a Policy.

metric
ID
required

The Metric to which the Policy will be applied.

type
PolicyType
required

The type of Policy to create.

application
ID
required

The Application that will be granted access to the Metric.

ModifyPolicyInput

The fields for modifying a Policy.

policy
ID
required

The Policy’s unique identifier.

type
PolicyType
required

The type of Policy.

DeletionRequestInput

The fields for creating a Deletion Job.

dataPool
ID
required

The Data Pool that is going to get the data deleted

filterSql
String

The filters that will be used for deleting data, in the form of SQL. Data matching these filters will be deleted.

CreateDeletionJobInput

The fields for creating a Deletion Job.

dataPool
ID
required

The Data Pool that is going to get the data deleted

filterSql
String

The filters that will be used for deleting data, in the form of SQL. Data matching these filters will be deleted.

CreateAddColumnToDataPoolJobInput

The fields for creating an Add Column Job.

dataPool
ID
required

The Data Pool to which the column will be added.

columnName
String
required

Name of the new column.

columnType
ColumnType
required

Type of the new column.

jsonProperty
String

JSON property to which the new column corresponds.

CreateUpdateDataPoolRecordsJobInput

The fields for creating an Update Data Pool Records Job.

dataPool
ID
required

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

filterSql
String

The filters that will be used for updating records, in the form of SQL. Records matching these filters will be updated.

set
[UpdateDataPoolRecordsJobSetColumnInput!]
required

Describes how the job will update the records.

CreateDataPoolAccessPolicyInput

uniqueName
String

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

description
String

The Data Pool Access Policy’s description.

dataPool
ID
required

The Data Pool to which the Access Policy belongs.

columns
[String!]
required

Columns that the Access Policy makes available for querying.

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

filterSql
String

Row-level filters that the Access Policy applies before executing queries, in the form of SQL.

ModifyDataPoolAccessPolicyInput

id
ID
required
uniqueName
String

The Data Pool Access Policy’s new unique name.

description
String

The Data Pool Access Policy’s new description.

columns
[String!]

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

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

SqlV1Input

Input to the SqlV1 api.

query
String
required

The SQL query.

dialect
SqlDialectV1

The SQL dialect to use. If not provided, the query is parsed on a best-effort basis.

DescribeSqlV1Input

Input for describing SqlV1 inputs.

query
String
required

The SQL query.

dialect
SqlDialectV1

The SQL dialect to use. If not provided, the query is parsed on a best-effort basis.

RecordsByUniqueIdInput

The fields for querying records by unique ID.

dataPool
DataPoolInput
required

The Data Pool to be queried. A Data Pool ID or unique name can be provided.

columns
[String!]
required

The columns to retrieve.

uniqueIds
[String!]
required

The unique IDs of the records to retrieve.

TopValuesInput

The fields for querying the top values in a given column.

dataPool
DataPoolInput
required

The Data Pool to be queried. A Data Pool ID or unique name can be provided.

columnName
String
required

The column to fetch the unique values from.

timeRange
TimeRangeInput

The time range for calculating the top values.

timeZone
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. Defaults to “UTC”.

maxValues
Int

The maximum number of values to return. It can be a number between 1 and 1,000. If the parameter is omitted, default value 10 is used.

ClickHouseConnectionSettingsInput

The ClickHouse Data Source connection settings.

database
String
required

Which database to connect to

password
String
required

The password for the provided user

url
String
required

The URL where the ClickHouse host is listening to HTTP[S] connections

user
String
required

The user for authenticating against the ClickHouse host

CreateClickHouseDataSourceInput

connectionSettings
ClickHouseConnectionSettingsInput
required

The ClickHouse Data Source’s connection settings

description
String

The ClickHouse Data Source’s description.

uniqueName
String

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

ModifyClickHouseDataSourceInput

connectionSettings
PartialClickHouseConnectionSettingsInput

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

description
String

The ClickHouse Data Source’s new description. If not provided this property will not be modified.

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

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

PartialClickHouseConnectionSettingsInput

The ClickHouse Data Source connection settings.

database
String

Which database to connect to If not provided this property will not be modified.

password
String

The password for the provided user If not provided this property will not be modified.

url
String

The URL where the ClickHouse host is listening to HTTP[S] connections If not provided this property will not be modified.

user
String

The user for authenticating against the ClickHouse host If not provided this property will not be modified.

CreateHttpDataSourceInput

connectionSettings
HttpConnectionSettingsInput
required

The HTTP Data Source’s connection settings

description
String

The HTTP Data Source’s description.

uniqueName
String

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

HttpConnectionSettingsInput

The HTTP Data Source connection settings.

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

tables
[HttpDataSourceTableInput!]
required

The HTTP Data Source’s tables.

ModifyHttpDataSourceInput

connectionSettings
PartialHttpConnectionSettingsInput

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

description
String

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

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

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

PartialHttpConnectionSettingsInput

The HTTP Data Source connection settings.

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

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

tables
[HttpDataSourceTableInput!]

The HTTP Data Source’s tables. If not provided this property will not be modified.

CreateKafkaDataSourceInput

connectionSettings
KafkaConnectionSettingsInput
required

The Kafka Data Source’s connection settings

description
String

The Kafka Data Source’s description.

uniqueName
String

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

KafkaConnectionSettingsInput

The Kafka Data Source connection settings.

auth
String
required

The type of authentication to use. Can be SCRAM-SHA-256, SCRAM-SHA-512, PLAIN or NONE

bootstrapServers
[String!]
required

The bootstrap server(s) to connect to

password
String
required

The password for the provided user

tls
Boolean

Whether the the connection to the Kafka servers is encrypted or not

user
String
required

The user for authenticating against the Kafka servers

ModifyKafkaDataSourceInput

connectionSettings
PartialKafkaConnectionSettingsInput

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

description
String

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

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

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

PartialKafkaConnectionSettingsInput

The Kafka Data Source connection settings.

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

bootstrapServers
[String!]
required

The bootstrap server(s) to connect to If not provided this property will not be modified.

password
String

The password for the provided user If not provided this property will not be modified.

tls
Boolean

Whether the the connection to the Kafka servers is encrypted or not If not provided this property will not be modified.

user
String

The user for authenticating against the Kafka servers If not provided this property will not be modified.

CreatePostgreSqlDataSourceInput

connectionSettings
PostgreSqlConnectionSettingsInput
required

The PostgreSQL Data Source’s connection settings

description
String

The PostgreSQL Data Source’s description.

uniqueName
String

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

ModifyPostgreSqlDataSourceInput

connectionSettings
PartialPostgreSqlConnectionSettingsInput

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

description
String

The PostgreSQL Data Source’s new description. If not provided this property will not be modified.

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

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

PartialPostgreSqlConnectionSettingsInput

The PostgreSQL Data Source connection settings.

database
String

Which database to connect to If not provided this property will not be modified.

host
String

The host where PostgreSQL is listening If not provided this property will not be modified.

password
String

The password for the provided user If not provided this property will not be modified.

port
Int

The port where PostgreSQL is listening (usually 5432) If not provided this property will not be modified.

schema
String

Which schema to use If not provided this property will not be modified.

user
String

The user for authenticating against PostgreSQL If not provided this property will not be modified.

PostgreSqlConnectionSettingsInput

The PostgreSQL Data Source connection settings.

database
String

Which database to connect to

host
String
required

The host where PostgreSQL is listening

password
String
required

The password for the provided user

port
Int

The port where PostgreSQL is listening (usually 5432)

schema
String

Which schema to use

user
String
required

The user for authenticating against PostgreSQL

CreateS3DataSourceInput

connectionSettings
S3ConnectionSettingsInput
required

The S3 Data Source’s connection settings

description
String

The S3 Data Source’s description.

uniqueName
String

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

ModifyS3DataSourceInput

connectionSettings
PartialS3ConnectionSettingsInput

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

description
String

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

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

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

PartialS3ConnectionSettingsInput

The connection settings for an S3 Data Source. These include the 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.

awsAccessKeyId
String

The AWS access key ID for an IAM user with sufficient access to the S3 bucket. If not provided this property will not be modified.

awsSecretAccessKey
String

The AWS secret access key for an IAM user with sufficient access to the S3 bucket. If not provided this property will not be modified.

bucket
String

The name of the S3 bucket. If not provided this property will not be modified.

tables
[S3DataSourceTableInput!]

The S3 Data Source’s tables. If not provided this property will not be modified.

S3ConnectionSettingsInput

The connection settings for an S3 Data Source. These include the 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.

awsAccessKeyId
String
required

The AWS access key ID for an IAM user with sufficient access to the S3 bucket.

awsSecretAccessKey
String
required

The AWS secret access key for an IAM user with sufficient access to the S3 bucket.

bucket
String
required

The name of the S3 bucket.

tables
[S3DataSourceTableInput!]
required

The S3 Data Source’s tables.

CreateWebhookDataSourceInput

connectionSettings
WebhookConnectionSettingsInput
required

The Webhook Data Source’s connection settings

description
String

The Webhook Data Source’s description.

uniqueName
String

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

ModifyWebhookDataSourceInput

connectionSettings
PartialWebhookConnectionSettingsInput

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

description
String

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

idOrUniqueName
idOrUniqueName
required

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

uniqueName
String

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

PartialWebhookConnectionSettingsInput

The Webhook Data Source connection settings.

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

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

WebhookConnectionSettingsInput

The Webhook Data Source connection settings.

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

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

columns
[WebhookDataSourceColumnInput!]

The additional columns for the Webhook Data Source table.

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

tenant
String

The tenant ID column, if any.

timestamp
String

The primary timestamp column, if any.

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