Queries
addColumnToDataPoolJob
This query returns the AddColumnToDataPoolJob specified by the given ID.
The AddColumnToDataPoolJob represents the asynchronous process of adding a column, given its name and type, to a Data Pool.
Arguments
id required ID
Returns
Nullable AddColumnToDataPoolJob
AddColumnToDataPoolJob scheduled for a specific Data Pool.
The Add Column Job represents the asynchronous process of adding a column, given its name and type, to a Data Pool. It tracks the process of adding a column until it is finished, showing the progress and the outcome when it is finished.
addColumnToDataPoolJob.id non-null ID
The AddColumnToDataPoolJob's ID.
addColumnToDataPoolJob.createdAt non-null DateTime
The AddColumnToDataPoolJob's creation date and time in UTC.
addColumnToDataPoolJob.createdBy non-null String
Who created the AddColumnToDataPoolJob.
addColumnToDataPoolJob.modifiedAt non-null DateTime
The AddColumnToDataPoolJob's last modification date and time in UTC.
addColumnToDataPoolJob.modifiedBy non-null String
Who modified the AddColumnToDataPoolJob last.
addColumnToDataPoolJob.account non-null Account
Account to which the AddColumnToDataPoolJob belongs.
addColumnToDataPoolJob.environment non-null Environment
Environment to which the AddColumnToDataPoolJob belongs.
addColumnToDataPoolJob.dataPool non-null DataPool
The Data Pool to which a column will be added by the Job.
addColumnToDataPoolJob.status non-null JobStatus
The current AddColumnToDataPoolJob's status.
CREATED
The Job was created, but is not yet being executed.
IN_PROGRESS
The Job is executing.
SUCCEEDED
The Job succeeded.
FAILED
The Job failed. Check the error message.
addColumnToDataPoolJob.columnName non-null String
Name of the new column.
addColumnToDataPoolJob.columnType non-null 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.
CLICKHOUSE
A ClickHouse-specific type.
addColumnToDataPoolJob.jsonProperty nullable String
JSON property to which the new column corresponds.
addColumnToDataPoolJob.error nullable Error
The error that occurred while adding the column data, if any.
addColumnToDataPoolJob.progress non-null Float
The current progress of the AddColumnToDataPool Job, from 0.0 to 1.0.
addColumnToDataPoolJob.startedAt nullable DateTime
The time at which the AddColumnToDataPool Job started.
addColumnToDataPoolJob.succeededAt nullable DateTime
The time at which the AddColumnToDataPool Job succeeded.
addColumnToDataPoolJob.failedAt nullable DateTime
The time at which the AddColumnToDataPool Job failed.
addColumnToDataPoolJobByStatus
This query returns the AddColumnToDataPool Job specified by a given status.
Arguments
Returns
Non-null AddColumnToDataPoolJobConnection
The Add column to Data Pool Job connection object.
Learn more about pagination in GraphQL.
addColumnToDataPoolJobByStatus.edges non-null array of AddColumnToDataPoolJobEdge
The Add column to Data Pool Job connection's edges.
addColumnToDataPoolJobByStatus.nodes non-null array of AddColumnToDataPoolJob
The Add column to Data Pool Job connection's nodes.
addColumnToDataPoolJobByStatus.pageInfo non-null PageInfo
The Add column to Data Pool Job connection's page info.
application
This query returns the Application specified by the given ID.
Learn more about Applications.
Arguments
id required ID
Returns
Nullable Application
The Application object.
Propel Applications represent the web or mobile app you are building. They provide the API credentials that allow your client- or server-side app to access the Propel API. The Application's Propeller determines the speed and cost of your Metric Queries.
Learn more about Applications.
application.id non-null ID
The Application's unique identifier.
application.uniqueName non-null String
The Application's unique name.
application.description non-null String
The Application's description.
application.account non-null Account
The Application's Account.
application.environment non-null Environment
The Application's Environment.
application.createdAt non-null DateTime
The Application's creation date and time in UTC.
application.modifiedAt non-null DateTime
The Application's last modification date and time in UTC.
application.createdBy non-null String
The Application's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
application.modifiedBy non-null String
The Application's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
application.clientId non-null String
The Application's OAuth 2.0 client identifier.
application.secret nullable String
The Application's OAuth 2.0 client secret.
application.propeller non-null Propeller
The Application's 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
application.scopes non-null array of ApplicationScope
The Application's OAuth 2.0 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.
METRIC_QUERY
Grant read access to query Metrics.
application.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection
A paginated list of Data Pool Access Policies associated with the Application.
applicationByName
This query returns the Application with the given unique name.
Learn more about Applications.
Arguments
uniqueName required String
Returns
Nullable Application
The Application object.
Propel Applications represent the web or mobile app you are building. They provide the API credentials that allow your client- or server-side app to access the Propel API. The Application's Propeller determines the speed and cost of your Metric Queries.
Learn more about Applications.
applicationByName.id non-null ID
The Application's unique identifier.
applicationByName.uniqueName non-null String
The Application's unique name.
applicationByName.description non-null String
The Application's description.
applicationByName.account non-null Account
The Application's Account.
applicationByName.environment non-null Environment
The Application's Environment.
applicationByName.createdAt non-null DateTime
The Application's creation date and time in UTC.
applicationByName.modifiedAt non-null DateTime
The Application's last modification date and time in UTC.
applicationByName.createdBy non-null String
The Application's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
applicationByName.modifiedBy non-null String
The Application's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
applicationByName.clientId non-null String
The Application's OAuth 2.0 client identifier.
applicationByName.secret nullable String
The Application's OAuth 2.0 client secret.
applicationByName.propeller non-null Propeller
The Application's 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
applicationByName.scopes non-null array of ApplicationScope
The Application's OAuth 2.0 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.
METRIC_QUERY
Grant read access to query Metrics.
applicationByName.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection
A paginated list of Data Pool Access Policies associated with the Application.
applications
This query returns the Applications within the Environment.
Learn more about Applications.
The applications
query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters first
and after
or last
and before
to page forward or backward through the results, respectively.
For forward pagination, the first
parameter defines the number of results to return, and the after
parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page to after
.
For backward pagination, the last
parameter defines the number of results to return, and the before
parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page to before
.
Arguments
Returns
Nullable ApplicationConnection
The Application connection object.
Learn more about pagination in GraphQL.
applications.edges non-null array of ApplicationEdge
The Application connection's edges.
applications.nodes non-null array of Application
The Application connection's nodes.
applications.pageInfo non-null PageInfo
The Application connection's page info.
booster
This query returns the Booster specified by the given ID.
A Booster significantly improves the query performance for a Metric.
Arguments
id required ID
Returns
Nullable Booster
Boosters allow you to optimize Metric Queries for a subset of commonly used Dimensions. A Metric can have one or many Boosters to optimize for the different Query patterns.
Boosters can be understood as an aggregating index. The index is formed from left to right as follows:
- The Data Pool's Tenant ID column (if present)
- Metric Filter columns (if present)
- Query Filter Dimensions (see
dimensions
) - The Data Pool's timestamp column
booster.id non-null ID
The Booster's unique identifier.
booster.account non-null Account
The Booster's Account.
booster.environment non-null Environment
The Booster's Environment.
booster.createdAt non-null DateTime
The Booster's creation date and time in UTC.
booster.modifiedAt non-null DateTime
The Booster's last modification date and time in UTC.
booster.createdBy non-null String
The Booster's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
booster.modifiedBy non-null String
The Booster's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
booster.metric non-null Metric
The Metric this Booster is associated to.
booster.status non-null BoosterStatus
The status of the Booster (once LIVE it will be available for speeding up Metric queries).
The Booster status.
CREATED
The Booster has been created. Propel will start optimizing the Data Pool soon.
OPTIMIZING
Propel is setting up the Booster and optimizing the Data Pool.
LIVE
The Booster is now live and available to speed up Metric queries.
FAILED
Propel failed to setup the Booster. Please write to support. Alternatively, you can delete the Booster and try again.
DELETING
Propel is deleting the Booster and all of its associated data.
booster.error nullable Error
If the Booster fails during the optimization process, this field includes a descriptive error message.
booster.progress nullable Float
When the Booster is OPTIMIZING, this represents its progress as a number from 0 to 1. In all other states, progress is null.
booster.dimensions non-null array of Dimension
Dimensions included in the Booster.
booster.recordCount nullable String
The number of records in the Booster.
booster.sizeInTerabytes nullable Float
The amount of storage in terabytes used by the Booster.
counter
Query a metric in counter format. Returns a single metric value for the given time range and filters.
Arguments
input required CounterInput
The fields for querying a Metric in counter format.
A Metric's counter query returns a single value over a given time range.
input.metric optional 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.
input.timeRange optional TimeRangeInput
The time range for calculating the counter.
input.timeZone optional 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".
input.filterSql optional 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.
Returns
Nullable CounterResponse
The counter response object. It contains a single Metric value for the given time range and Query Filters.
counters
Query metrics in counter format. Returns a metric value for each input in the array of inputs.
Arguments
input required array of CounterInput
The fields for querying a Metric in counter format.
A Metric's counter query returns a single value over a given time range.
input.metric optional 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.
input.timeRange optional TimeRangeInput
The time range for calculating the counter.
input.timeZone optional 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".
input.filterSql optional 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.
Returns
Non-null Array of CounterResponse
The counter response object. It contains a single Metric value for the given time range and Query Filters.
dataGrid
This query returns the individual records of a Data Pool with the convenience of built-in pagination, filtering, and sorting.
Arguments
input required DataGridInput
The fields for querying Data Grid records.
input.dataPool required DataPoolInput
The Data Pool to be queried.
input.timeRange optional TimeRangeInput
The time range for retrieving the records.
input.timeZone optional 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".
input.columns required array of String
The columns to retrieve.
input.orderByColumn optional 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.
input.sort optional Sort
The sort order of the rows. It can be ascending (
ASC
) or descending (DESC
) order. Defaults to descending (DESC
) order when not provided.The available sort orders.
ASC
Sort in ascending order.
DESC
Sort in descending order.
input.filterSql optional 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.input.first optional Int
The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
input.after optional String
The cursor to use when paging forward.
input.last optional Int
The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
input.before optional String
The cursor to use when paging backward.
Returns
Non-null DataGridConnection
The Data Grid connection.
It includes headers
and rows
for a single page of a Data Grid table. It also allows paging forward and backward to other
pages of the Data Grid table.
Learn more about pagination in GraphQL.
dataGrid.headers non-null array of String
The Data Grid table's headers.
dataGrid.rows non-null array of String
An array of arrays containing the values of the Data Grid table's rows.
dataGrid.query non-null QueryInfo
The Query statistics and metadata.
dataGrid.pageInfo non-null PageInfo
The Data Grid table's page info.
dataGrid.edges non-null array of DataGridEdge
The Data Grid table's edges.
dataGrid.nodes non-null array of DataGridNode
The Data Grid table's nodes.
dataPool
This query returns the Data Pool specified by the given ID.
A Data Pool is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries.
Arguments
id required ID
Returns
Nullable DataPool
The Data Pool object. Data Pools are Propel's high-speed data store and cache
dataPool.id non-null ID
The Data Pool's unique identifier.
dataPool.uniqueName non-null String
The Data Pool's unique name.
dataPool.description non-null String
The Data Pool's description.
dataPool.account non-null Account
The Data Pool's Account.
dataPool.environment non-null Environment
The Data Pool's Environment.
dataPool.createdAt non-null DateTime
The Data Pool's creation date and time in UTC.
dataPool.modifiedAt non-null DateTime
The Data Pool's last modification date and time in UTC.
dataPool.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.
dataPool.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.
dataPool.dataSource non-null DataSource
The Data Pool's Data Source.
dataPool.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.
dataPool.dataRetentionInDays non-null Int
The Data Pool's data retention in days (not yet supported).
dataPool.table non-null String
The name of the Data Pool's table.
dataPool.timestamp nullable Timestamp
The Data Pool's primary timestamp column, if any.
dataPool.recordCount nullable String
The number of records in the Data Pool.
dataPool.sizeInTerabytes nullable Float
The amount of storage in terabytes used by the Data Pool.
dataPool.columns nullable DataPoolColumnConnection
The Data Pool's columns.
dataPool.availableMeasures nullable DataPoolColumnConnection
The list of measures (numeric columns) in the Data Pool.
dataPool.setupTasks nullable array of DataPoolSetupTask
A list of setup tasks performed on the Data Pool during its most recent setup attempt.
dataPool.syncing non-null DataPoolSyncing
Settings related to Data Pool syncing.
dataPool.syncs nullable SyncConnection
The list of Syncs of the Data Pool.
dataPool.metrics nullable MetricConnection
The list of Metrics powered by the Data Pool.
dataPool.deletionJobs nullable DeletionJobConnection
The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.
dataPool.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection
The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.
dataPool.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection
The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.
dataPool.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.
dataPool.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection
A paginated list of Data Pool Access Policies available on the Data Pool.
dataPool.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.
dataPool.tableSettings non-null TableSettings
The Data Pool's table settings.
dataPool.partitionByColumns nullable array of DataPoolColumn
The Data Pool's columns that participate in its PARTITION BY clause.
dataPool.primaryKeyColumns nullable array of DataPoolColumn
The Data Pool's columns that participate in its PRIMARY KEY clause.
dataPool.orderByColumns nullable array of DataPoolColumn
The Data Pool's columns that participate in its ORDER BY clause.
dataPoolAccessPolicy
This query returns the Data Pool Access Policy specified by the given ID.
A Data Pool Access Policy limits the data that Applications can access within a Data Pool.
Arguments
id required ID
Returns
Nullable DataPoolAccessPolicy
dataPoolAccessPolicy.id non-null ID
The ID of the Data Pool Access Policy.
dataPoolAccessPolicy.uniqueName non-null String
The Data Pool Access Policy's unique name.
dataPoolAccessPolicy.description non-null String
The Data Pool Access Policy's description.
dataPoolAccessPolicy.account non-null Account
The Data Pool Access Policy's Account.
dataPoolAccessPolicy.environment non-null Environment
The Data Pool Access Policy's Environment.
dataPoolAccessPolicy.createdAt non-null DateTime
The Data Pool Access Policy's creation date and time in UTC.
dataPoolAccessPolicy.modifiedAt non-null DateTime
The Data Pool Access Policy's last modification date and time in UTC.
dataPoolAccessPolicy.createdBy non-null String
The Data Pool Access Policy's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
dataPoolAccessPolicy.modifiedBy non-null String
The Data Pool Access Policy's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
dataPoolAccessPolicy.dataPool non-null DataPool
The Data Pool to which the Access Policy belongs.
dataPoolAccessPolicy.columns non-null array of String
Columns that the Access Policy makes available for querying.
dataPoolAccessPolicy.filterSql nullable String
Row-level filters that the Access Policy applies before executing queries, in the form of SQL.
dataPoolAccessPolicy.applications non-null ApplicationConnection
Applications that are assigned to this Data Pool Access Policy.
dataPoolByName
This query returns the Data Pool specified by the given unique name.
A Data Pool is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries.
Arguments
uniqueName required String
Returns
Nullable DataPool
The Data Pool object. Data Pools are Propel's high-speed data store and cache
dataPoolByName.id non-null ID
The Data Pool's unique identifier.
dataPoolByName.uniqueName non-null String
The Data Pool's unique name.
dataPoolByName.description non-null String
The Data Pool's description.
dataPoolByName.account non-null Account
The Data Pool's Account.
dataPoolByName.environment non-null Environment
The Data Pool's Environment.
dataPoolByName.createdAt non-null DateTime
The Data Pool's creation date and time in UTC.
dataPoolByName.modifiedAt non-null DateTime
The Data Pool's last modification date and time in UTC.
dataPoolByName.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.
dataPoolByName.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.
dataPoolByName.dataSource non-null DataSource
The Data Pool's Data Source.
dataPoolByName.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.
dataPoolByName.dataRetentionInDays non-null Int
The Data Pool's data retention in days (not yet supported).
dataPoolByName.table non-null String
The name of the Data Pool's table.
dataPoolByName.timestamp nullable Timestamp
The Data Pool's primary timestamp column, if any.
dataPoolByName.recordCount nullable String
The number of records in the Data Pool.
dataPoolByName.sizeInTerabytes nullable Float
The amount of storage in terabytes used by the Data Pool.
dataPoolByName.columns nullable DataPoolColumnConnection
The Data Pool's columns.
dataPoolByName.availableMeasures nullable DataPoolColumnConnection
The list of measures (numeric columns) in the Data Pool.
dataPoolByName.setupTasks nullable array of DataPoolSetupTask
A list of setup tasks performed on the Data Pool during its most recent setup attempt.
dataPoolByName.syncing non-null DataPoolSyncing
Settings related to Data Pool syncing.
dataPoolByName.syncs nullable SyncConnection
The list of Syncs of the Data Pool.
dataPoolByName.metrics nullable MetricConnection
The list of Metrics powered by the Data Pool.
dataPoolByName.deletionJobs nullable DeletionJobConnection
The Deletion Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.
dataPoolByName.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection
The Add Column Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.
dataPoolByName.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection
The UpdateDataPoolRecords Jobs that were historically issued to this Data Pool, sorted by creation time, in descending order.
dataPoolByName.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.
dataPoolByName.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection
A paginated list of Data Pool Access Policies available on the Data Pool.
dataPoolByName.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.
dataPoolByName.tableSettings non-null TableSettings
The Data Pool's table settings.
dataPoolByName.partitionByColumns nullable array of DataPoolColumn
The Data Pool's columns that participate in its PARTITION BY clause.
dataPoolByName.primaryKeyColumns nullable array of DataPoolColumn
The Data Pool's columns that participate in its PRIMARY KEY clause.
dataPoolByName.orderByColumns nullable array of DataPoolColumn
The Data Pool's columns that participate in its ORDER BY clause.
dataPools
This query returns the Data Pools within the Environment.
A Data Pool is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries. Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads.
The dataPools
query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters first
and after
or last
and before
to page forward or backward through the results, respectively.
For forward pagination, the first
parameter defines the number of results to return, and the after
parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page to after
.
For backward pagination, the last
parameter defines the number of results to return, and the before
parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page to before
.
Arguments
Returns
Nullable DataPoolConnection
The Data Pool connection object.
Learn more about pagination in GraphQL.
dataSource
This query returns the Data Source specified by the given ID.
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.
Arguments
id required ID
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.
dataSource.id non-null ID
The Data Source's unique identifier.
dataSource.uniqueName non-null String
The Data Source's unique name.
dataSource.description non-null String
The Data Source's description.
dataSource.account non-null Account
The Data Source's Account.
dataSource.environment non-null Environment
The Data Source's Environment.
dataSource.createdAt non-null DateTime
The Data Source's creation date and time in UTC.
dataSource.modifiedAt non-null DateTime
The Data Source's last modification date and time in UTC.
dataSource.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.
dataSource.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.
dataSource.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.
dataSource.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.
dataSource.connectionSettings non-null ConnectionSettings
The Data Source's connection settings.
- SnowflakeConnectionSettings
- InternalConnectionSettings
- ClickHouseConnectionSettings
- HttpConnectionSettings
- KafkaConnectionSettings
- S3ConnectionSettings
- WebhookConnectionSettings
dataSource.tables nullable TableConnection
The tables contained within the Data Source, according to the most recent table introspection.
dataSource.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.
dataSource.checks nullable array of DataSourceCheck
A list of checks performed on the Data Source during its most recent connection attempt.
dataSource.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 parametersfirst
andafter
orlast
andbefore
to page forward or backward through the results, respectively.For forward pagination, the
first
parameter defines the number of results to return, and theafter
parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page toafter
.For backward pagination, the
last
parameter defines the number of results to return, and thebefore
parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page tobefore
.
dataSourceByName
This query returns the Data Source specified by the given unique name.
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.
Arguments
uniqueName required String
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.
dataSourceByName.id non-null ID
The Data Source's unique identifier.
dataSourceByName.uniqueName non-null String
The Data Source's unique name.
dataSourceByName.description non-null String
The Data Source's description.
dataSourceByName.account non-null Account
The Data Source's Account.
dataSourceByName.environment non-null Environment
The Data Source's Environment.
dataSourceByName.createdAt non-null DateTime
The Data Source's creation date and time in UTC.
dataSourceByName.modifiedAt non-null DateTime
The Data Source's last modification date and time in UTC.
dataSourceByName.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.
dataSourceByName.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.
dataSourceByName.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.
dataSourceByName.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.
dataSourceByName.connectionSettings non-null ConnectionSettings
The Data Source's connection settings.
- SnowflakeConnectionSettings
- InternalConnectionSettings
- ClickHouseConnectionSettings
- HttpConnectionSettings
- KafkaConnectionSettings
- S3ConnectionSettings
- WebhookConnectionSettings
dataSourceByName.tables nullable TableConnection
The tables contained within the Data Source, according to the most recent table introspection.
dataSourceByName.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.
dataSourceByName.checks nullable array of DataSourceCheck
A list of checks performed on the Data Source during its most recent connection attempt.
dataSourceByName.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 parametersfirst
andafter
orlast
andbefore
to page forward or backward through the results, respectively.For forward pagination, the
first
parameter defines the number of results to return, and theafter
parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page toafter
.For backward pagination, the
last
parameter defines the number of results to return, and thebefore
parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page tobefore
.
dataSources
This query returns the Data Sources within the Environment.
A Data Source is a connection to your data warehouse. It has the necessary connection details for Propel to access Snowflake or any other supported Data Source. Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads.
The dataSources
query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters first
and after
or last
and before
to page forward or backward through the results, respectively.
For forward pagination, the first
parameter defines the number of results to return, and the after
parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page to after
.
For backward pagination, the last
parameter defines the number of results to return, and the before
parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page to before
.
Arguments
Returns
Nullable DataSourceConnection
The Data Source connection object.
Learn more about pagination in GraphQL.
dataSources.edges non-null array of DataSourceEdge
The Data Source connection's edges.
dataSources.nodes non-null array of DataSource
The Data Source connection's nodes.
dataSources.pageInfo non-null PageInfo
The Data Source connection's page info.
deletionJob
This query returns the Deletion Job specified by the given ID.
The Deletion Job represents the asynchronous process of deleting data given some filters inside a Data Pool.
Arguments
id required ID
Returns
Nullable DeletionJob
Deletion Job scheduled for a specific Data Pool.
The Deletion Job represents the asynchronous process of deleting data given some filters inside a Data Pool. It tracks the deletion process until it is finished, showing the progress and the outcome when it is finished.
deletionJob.id non-null ID
The Deletion Job's ID.
deletionJob.createdAt non-null DateTime
The Deletion Job's creation date and time in UTC.
deletionJob.createdBy non-null String
Who created the Deletion Job.
deletionJob.modifiedAt non-null DateTime
The Deletion Job's last modification date and time in UTC.
deletionJob.modifiedBy non-null String
Who last modified the Deletion Job.
deletionJob.account non-null Account
Account to which the Deletion Job belongs.
deletionJob.environment non-null Environment
Environment to which the Deletion Job belongs.
deletionJob.dataPool non-null DataPool
The Data Pool whose records will be deleted by the Deletion Job.
deletionJob.status non-null JobStatus
The current Deletion Job's status.
CREATED
The Job was created, but is not yet being executed.
IN_PROGRESS
The Job is executing.
SUCCEEDED
The Job succeeded.
FAILED
The Job failed. Check the error message.
deletionJob.filterSql nullable String
The filters that will be used for deleting data, in the form of SQL. Data matching the filters will be deleted.
deletionJob.error nullable Error
The error that occurred while deleting data, if any.
deletionJob.progress non-null Float
The current progress of the Deletion Job, from 0.0 to 1.0.
deletionJob.startedAt nullable DateTime
The time at which the Deletion Job started.
deletionJob.succeededAt nullable DateTime
The time at which the Deletion Job succeeded.
deletionJob.failedAt nullable DateTime
The time at which the Deletion Job failed.
describeSqlV1
Describe SQL statements Data Pools.
Arguments
input required DescribeSqlV1Input
Returns
Non-null DescribeSqlResponse
Response from the describe SQL API.
describeSqlV1.columns non-null array of SqlColumnResponse
The columns that the query would return.
leaderboard
Query a metric in leaderboard format. Returns a table (array of rows) with the selected dimensions and the metric's corresponding values for the given time range and filters.
Arguments
input required 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.
input.metric optional 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.
input.timeRange optional TimeRangeInput
The time range for calculating the leaderboard.
input.timeZone optional 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".
input.dimensions required array of DimensionInput
One or many Dimensions to group the Metric values by. Typically, Dimensions in a leaderboard are what you want to compare and rank.
input.sort optional Sort
The sort order of the rows. It can be ascending (
ASC
) or descending (DESC
) order. Defaults to descending (DESC
) order when not provided.The available sort orders.
ASC
Sort in ascending order.
DESC
Sort in descending order.
input.rowLimit required Int
The number of rows to be returned. It can be a number between 1 and 1,000.
input.filterSql optional 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.
Returns
Nullable LeaderboardResponse
The leaderboard response object. It contains an array of headers and a table (array of rows) with the selected Dimensions and corresponding Metric values for the given time range and Query Filters.
leaderboard.headers non-null array of String
The table headers. It contains the Dimension and Metric names.
leaderboard.rows non-null array of String
An ordered array of rows. Each row contains the Dimension values and the corresponding Metric value. A Dimension value can be empty. A Metric value will never be empty.
leaderboard.query non-null QueryInfo
The Query statistics and metadata.
materializedView
This query returns the Materialized View specified by the given ID.
Arguments
id required ID
Returns
Nullable MaterializedView
materializedView.id non-null ID
The Materialized View's unique identifier.
materializedView.uniqueName non-null String
The Materialized View's unique name.
materializedView.description non-null String
The Materialized View's description.
materializedView.account non-null Account
The Materialized View's Account.
materializedView.environment non-null Environment
The Materialized View's Environment.
materializedView.createdAt non-null DateTime
The Materialized View's creation date and time in UTC.
materializedView.modifiedAt non-null DateTime
The Materialized View's last modification date and time in UTC.
materializedView.createdBy non-null String
The Materialized View's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
materializedView.modifiedBy non-null String
The Materialized View's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
materializedView.sql non-null String
The SQL that the Materialized View executes.
materializedView.destination non-null DataPool
The Materialized View's destination (AKA "target") Data Pool.
materializedView.source nullable DataPool
The Materialized View's source Data Pool.
materializedView.others non-null array of DataPool
Other Data Pools queried by the Materialized View.
materializedViewByName
This query returns the Materialized View specified by its unique name.
Arguments
uniqueName required String
Returns
Nullable MaterializedView
materializedViewByName.id non-null ID
The Materialized View's unique identifier.
materializedViewByName.uniqueName non-null String
The Materialized View's unique name.
materializedViewByName.description non-null String
The Materialized View's description.
materializedViewByName.account non-null Account
The Materialized View's Account.
materializedViewByName.environment non-null Environment
The Materialized View's Environment.
materializedViewByName.createdAt non-null DateTime
The Materialized View's creation date and time in UTC.
materializedViewByName.modifiedAt non-null DateTime
The Materialized View's last modification date and time in UTC.
materializedViewByName.createdBy non-null String
The Materialized View's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
materializedViewByName.modifiedBy non-null String
The Materialized View's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
materializedViewByName.sql non-null String
The SQL that the Materialized View executes.
materializedViewByName.destination non-null DataPool
The Materialized View's destination (AKA "target") Data Pool.
materializedViewByName.source nullable DataPool
The Materialized View's source Data Pool.
materializedViewByName.others non-null array of DataPool
Other Data Pools queried by the Materialized View.
materializedViews
This query returns the Materialized Views within the Environment.
The materializedViews
query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters first
and after
or last
and before
to page forward or backward through the results, respectively.
For forward pagination, the first
parameter defines the number of results to return, and the after
parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page to after
.
For backward pagination, the last
parameter defines the number of results to return, and the before
parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page to before
.
Arguments
Returns
Nullable MaterializedViewConnection
The Materialized View connection object.
Learn more about pagination in GraphQL.
materializedViews.edges non-null array of MaterializedViewEdge
The Materialized View connection's edges.
materializedViews.nodes non-null array of MaterializedView
The Materialized View connection's nodes.
materializedViews.pageInfo non-null PageInfo
The Materialized View connection's page info.
metric
This query returns the Metric specified by the given ID.
A Metric is a business indicator measured over time.
Arguments
id required ID
Returns
Nullable Metric
The Metric object.
A Metric is a business indicator measured over time.
metric.id non-null ID
The Metric's unique identifier.
metric.uniqueName non-null String
The Metric's unique name.
metric.description non-null String
The Metric's description.
metric.account non-null Account
The Metric's Account.
metric.environment non-null Environment
The Metric's Environment.
metric.createdAt non-null DateTime
The Metric's creation date and time in UTC.
metric.modifiedAt non-null DateTime
The Metric's last modification date and time in UTC.
metric.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.
metric.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.
metric.dataPool nullable DataPool
The Data Pool that powers this Metric.
metric.dimensions non-null array of Dimension
The Metric's Dimensions. These Dimensions are available to Query Filters.
metric.timestamp nullable Dimension
The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.
metric.boosters non-null BoosterConnection
List the Boosters associated to the Metric.
metric.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.
metric.settings non-null MetricSettings
The settings for the Metric. The settings are specific to the Metric's type.
- CountMetricSettings
- SumMetricSettings
- CountDistinctMetricSettings
- AverageMetricSettings
- MinMetricSettings
- MaxMetricSettings
- CustomMetricSettings
metricByName
This query returns the Metric specified by the given unique name.
A Metric is a business indicator measured over time.
Arguments
uniqueName required String
Returns
Nullable Metric
The Metric object.
A Metric is a business indicator measured over time.
metricByName.id non-null ID
The Metric's unique identifier.
metricByName.uniqueName non-null String
The Metric's unique name.
metricByName.description non-null String
The Metric's description.
metricByName.account non-null Account
The Metric's Account.
metricByName.environment non-null Environment
The Metric's Environment.
metricByName.createdAt non-null DateTime
The Metric's creation date and time in UTC.
metricByName.modifiedAt non-null DateTime
The Metric's last modification date and time in UTC.
metricByName.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.
metricByName.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.
metricByName.dataPool nullable DataPool
The Data Pool that powers this Metric.
metricByName.dimensions non-null array of Dimension
The Metric's Dimensions. These Dimensions are available to Query Filters.
metricByName.timestamp nullable Dimension
The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.
metricByName.boosters non-null BoosterConnection
List the Boosters associated to the Metric.
metricByName.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.
metricByName.settings non-null MetricSettings
The settings for the Metric. The settings are specific to the Metric's type.
- CountMetricSettings
- SumMetricSettings
- CountDistinctMetricSettings
- AverageMetricSettings
- MinMetricSettings
- MaxMetricSettings
- CustomMetricSettings
metricReport
Build a report, or table, consisting of multiple Metrics broken down by one-or-more dimensions.
The first few columns of the report are the dimensions you choose to break down by. The subsequent columns are the
Metrics you choose to query. By default, the report sorts on the first Metric in descending order, but you can
configure this with the orderByMetric
and sort
inputs.
Finally, reports use cursor-based pagination. You can control page size with the first
and
last
inputs.
Arguments
input required 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.
input.timeRange optional TimeRangeInput
The time range for calculating the Metric Report.
input.timeZone optional 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".
input.dimensions required array of MetricReportDimensionInput
One or many dimensions to group the Metric values by. Typically, dimensions in a report are what you want to compare and rank.
input.metrics required array of MetricReportMetricInput
One or more Metrics to include in the Metric Report. These will be broken down by
dimensions
.input.filterSql optional String
The Query Filters to apply when building the Metric Report, in the form of SQL. These can be used to filter out rows.
input.orderByColumn optional 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.input.first optional Int
The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
input.after optional String
The cursor to use when paging forward.
input.last optional Int
The number of rows to be returned when paging forward. It can be a number between 1 and 1,000.
input.before optional String
The cursor to use when paging backward.
Returns
Nullable MetricReportConnection
The Metric Report connection object.
It includes headers
and rows
for a single page of a report. It also allows paging forward and backward to other
pages of the report.
Learn more about pagination in GraphQL.
metricReport.pageInfo non-null PageInfo
The report connection's page info.
metricReport.edges non-null array of MetricReportEdge
The report connection's edges.
metricReport.nodes non-null array of MetricReportNode
The report connection's nodes.
metricReport.headers non-null array of String
An ordered array of display names for your dimensions and Metrics, as defined in the report input. Use this to display your table's header.
metricReport.rows non-null array of String
An ordered array of rows. Each row contains dimension and Metric values, as defined in the report input. Use these to display the rows of your table.
metricReport.query non-null QueryInfo
The Query statistics and metadata.
metrics
This query returns the Metrics within the Environment.
A Metric is a business indicator measured over time. Each Metric is associated with one Data Pool, which is a cached table hydrated from your data warehouse optimized for high-concurrency and low-latency queries. Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads.
The metrics
query uses cursor-based pagination typical of GraphQL APIs. You can use the pairs of parameters first
and after
or last
and before
to page forward or backward through the results, respectively.
For forward pagination, the first
parameter defines the number of results to return, and the after
parameter defines the cursor to continue from. You should pass the cursor for the last result of the current page to after
.
For backward pagination, the last
parameter defines the number of results to return, and the before
parameter defines the cursor to continue from. You should pass the cursor for the first result of the current page to before
.
Arguments
Returns
Nullable MetricConnection
The Metric connection object.
Learn more about pagination in GraphQL.
policy
Returns a Policy by ID.
Arguments
id required ID
Returns
Nullable Policy
The Policy type. It governs an Application's access to a Metric's data.
policy.id non-null ID
The Policy's unique identifier.
policy.account non-null Account
The Policy's Account.
policy.environment non-null Environment
The Policy's Environment.
policy.createdAt non-null DateTime
The Policy's creation date and time in UTC.
policy.modifiedAt non-null DateTime
The Policy's last modification date and time in UTC.
policy.createdBy non-null String
The Policy's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
policy.modifiedBy non-null String
The Policy's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.
policy.type non-null PolicyType
The type of Policy.
The types of Policies that can be applied to a Metric.
ALL_ACCESS
Grants access to all Metric data.
TENANT_ACCESS
Grants access to a specified tenant's Metric data.
policy.application non-null Application
The Application that is granted access.
policy.metric non-null Metric
The Metric that the Application is granted access to.
recordsByUniqueId
This query returns records by the given unique IDs.
Arguments
input required RecordsByUniqueIdInput
The fields for querying records by unique ID.
Returns
Non-null RecordsByUniqueIdResponse
recordsByUniqueId.columns non-null array of String
The Data Pool columns for the record.
recordsByUniqueId.values non-null array of String
An array of values for the record.
recordsByUniqueId.query non-null QueryInfo
The Query statistics and metadata.
sqlV1
Query Data Pools using SQL.
Arguments
input required SqlV1Input
Returns
Non-null SqlResponse
Response from the SQL API.
sqlV1.columns non-null array of SqlColumnResponse
The column names in the same order as present in the
data
field.sqlV1.rows non-null array of String
The data gathered by the SQL query. The data is returned in an N x M matrix format, where the first dimension are the rows retrieved, and the second dimension are the columns. Each cell can be either a string or null, and the string can represent a number, text, date or boolean value.
sqlV1.info non-null QueryInfo
The Query statistics and metadata.
sync
Returns a Sync by ID.
Arguments
id 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.
sync.id non-null ID
The Sync's unique identifier.
sync.account nullable Account
The Sync's Account.
sync.environment nullable Environment
The Sync's Environment.
sync.createdAt non-null DateTime
The Sync's creation date and time in UTC.
sync.modifiedAt non-null DateTime
The Sync's last modification date and time in UTC.
sync.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.
sync.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.
sync.dataPool nullable DataPool
The Sync's Data Pool.
sync.dataSource nullable DataSource
The Sync's Data Pool's Data Source.
sync.processedRecords nullable String
The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.
sync.size nullable String
The (compressed) size of the Sync, in bytes, if known.
sync.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.
sync.startedAt nullable DateTime
The time at which the Sync started.
sync.succeededAt nullable DateTime
The time at which the Sync succeeded.
sync.failedAt nullable DateTime
The time at which the Sync failed.
sync.error nullable Error
If the Sync failed, this represents the reason the Sync failed.
table
Returns a table by ID.
Arguments
id required ID
Returns
Nullable Table
The table object.
Once a table introspection succeeds, it creates a new table object for every table it introspected.
table.id non-null ID
The table's ID.
table.name non-null String
The table's name.
table.dataSource nullable DataSource
The Data Source to which the table belongs.
table.rows nullable Int
The number of rows contained within the table at the time of introspection. Check the table's
cachedAt
time, since this info can become out of date.table.size nullable Int
The size of the table (in bytes) at the time of introspection. Check the table's
cachedAt
time, since this info can become out of date.table.cachedAt non-null DateTime
The time at which the table was cached (i.e., the time at which it was introspected).
table.createdAt non-null DateTime
The time at which the table was created. This is the same as its
cachedAt
time.table.createdBy non-null String
The table's creator. This corresponds to the initiator of the table Introspection. It can be either a User ID, an Application ID, or "system" if it was created by Propel.
table.columns nullable ColumnConnection
The table's columns.
table.availableTimestamps nullable ColumnConnection
The table's columns which can be used as a timestamp for a Data Pool.
table.availableMeasures nullable ColumnConnection
The table's columns which can be used as a measure for a Metric.
timeSeries
Query a metric in time series format. Returns arrays of timestamps and metric values for the given time range and filters.
Arguments
input required 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.
input.metric optional MetricInput
The Metric to Query. It can be a pre-created one or it can be inlined here.
input.timeRange optional TimeRangeInput
The time range for calculating the time series.
input.timeZone optional 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".
input.granularity required TimeSeriesGranularity
The time granularity (hour, day, month, etc.) to aggregate the Metric values by.
The available time series granularities. Granularities define the unit of time to aggregate the Metric data for a time series query.
For example, if the granularity is set to
DAY
, then the the time series query will return a label and a value for each day.If there are no records for a given time series granularity, Propel will return the label and a value of "0" so that the time series can be properly visualized.
MINUTE
Aggregates values by minute intervals.
FIVE_MINUTES
Aggregates values by 5-minute intervals.
TEN_MINUTES
Aggregates values by 10-minute intervals.
FIFTEEN_MINUTES
Aggregates values by 15-minute intervals.
HOUR
Aggregates values by hourly intervals.
DAY
Aggregates values by daily intervals.
WEEK
Aggregates values by weekly intervals.
MONTH
Aggregates values by monthly intervals.
YEAR
Aggregates values by yearly intervals.
input.filterSql optional 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.
input.groupBy optional array of String
Columns to group by.
Returns
Nullable TimeSeriesResponse
The time series response object. It contains an array of time series labels and an array of Metric values for the given time range and Query Filters.
timeSeries.labels non-null array of String
The time series labels.
timeSeries.values non-null array of String
The time series values.
timeSeries.groups nullable array of TimeSeriesResponseGroup
The time series values for each group in
groupBy
, if specified.timeSeries.query non-null QueryInfo
The Query statistics and metadata.
topValues
This query returns an array of the most frequent values in a given column. The resulting array is sorted in descending order of approximate frequency of values.
Arguments
input required TopValuesInput
The fields for querying the top values in a given column.
input.dataPool required DataPoolInput
The Data Pool to be queried. A Data Pool ID or unique name can be provided.
input.columnName required String
The column to fetch the unique values from.
input.timeRange optional TimeRangeInput
The time range for calculating the top values.
input.timeZone optional 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".
input.maxValues optional 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.
Returns
Non-null TopValuesResponse
updateDataPoolRecordsJob
This query returns the UpdateDataPoolRecords Job specified by the given ID.
The UpdateDataPoolRecords Job represents the asynchronous process of updating records inside a Data Pool.
Arguments
id required ID
Returns
Nullable UpdateDataPoolRecordsJob
UpdateDataPoolRecords Job scheduled for a specific Data Pool. The Update Data Pool Records Job represents the asynchronous process of updating records given some filters, inside a Data Pool. It tracks the process of updating records until it is finished, showing the progress and the outcome when it is finished.
updateDataPoolRecordsJob.id non-null ID
The UpdateDataPoolRecords Job's ID
updateDataPoolRecordsJob.createdAt non-null DateTime
The UpdateDataPoolRecords Job's creation date and time in UTC
updateDataPoolRecordsJob.createdBy non-null String
Who created the UpdateDataPoolRecords Job
updateDataPoolRecordsJob.modifiedAt non-null DateTime
The UpdateDataPoolRecords Job's last modification date and time in UTC
updateDataPoolRecordsJob.modifiedBy non-null String
Who last modified the UpdateDataPoolRecords Job
updateDataPoolRecordsJob.account non-null Account
Account to which the UpdateDataPoolRecords Job belongs
updateDataPoolRecordsJob.environment non-null Environment
Environment to which the UpdateDataPoolRecords Job belongs
updateDataPoolRecordsJob.dataPool non-null DataPool
The Data Pool whose records will be updated by the UpdateDataPoolRecords Job
updateDataPoolRecordsJob.status non-null JobStatus
The current UpdateDataPoolRecords Job's status
CREATED
The Job was created, but is not yet being executed.
IN_PROGRESS
The Job is executing.
SUCCEEDED
The Job succeeded.
FAILED
The Job failed. Check the error message.
updateDataPoolRecordsJob.filterSql nullable String
The filters that will be used for updating data, in the form of SQL. Data matching the filters will be updated.
updateDataPoolRecordsJob.set non-null array of UpdateDataPoolRecordsJobSetColumn
Describes how the job will update the records.
updateDataPoolRecordsJob.error nullable Error
The error that occurred while updating data, if any.
updateDataPoolRecordsJob.progress non-null Float
The current progress of the UpdateDataPoolRecords Job, from 0.0 to 1.0.
updateDataPoolRecordsJob.startedAt nullable DateTime
The time at which the UpdateDataPoolRecords Job started.
updateDataPoolRecordsJob.succeededAt nullable DateTime
The time at which the UpdateDataPoolRecords Job succeeded.
updateDataPoolRecordsJob.failedAt nullable DateTime
The time at which the UpdateDataPoolRecords Job failed.
updateDataPoolRecordsJobByStatus
This query returns the UpdateDataPoolRecords Job specified by a given status.
Arguments
Returns
Non-null UpdateDataPoolRecordsJobConnection
The Update Data Pool records Job connection object.
Learn more about pagination in GraphQL.
updateDataPoolRecordsJobByStatus.edges non-null array of UpdateDataPoolRecordsJobEdge
The Update Data Pool records Job connection's edges.
updateDataPoolRecordsJobByStatus.nodes non-null array of UpdateDataPoolRecordsJob
The Update Data Pool records Job connection's nodes.
updateDataPoolRecordsJobByStatus.pageInfo non-null PageInfo
The Update Data Pool records Job connection's page info.