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 Amazon S3 Data Source’s table.

name
String
required

The name of the table

path
String

The path to the table’s files in Amazon S3.

columns
[S3DataSourceColumnInput!]
required

All the columns present in the table

S3DataSourceColumnInput

The fields for specifying a column in an Amazon 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.

AmazonDataFirehoseDataSourceColumnInput

The fields for specifying a column in an Amazon Data Firehose 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 send 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.

AmazonDynamoDBDataSourceColumnInput

The fields for specifying a column in an Amazon DynamODB 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 send 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.

TwilioSegmentDataSourceColumnInput

The fields for specifying a column in a Twilio Segment 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.

WebhookDataSourceColumnInput

The fields for specifying a column in a 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

order
PartitionOrder

Defines the order in which historical data is backfilled. Defaults to OLDEST_FIRST if not specified.

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.