Skip to main content

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.

  • 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

  • status required JobStatus

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

  • first optional Int

  • after optional String

  • last optional Int

  • before optional String


Returns

Non-null AddColumnToDataPoolJobConnection

The Add column to Data Pool Job connection object.

Learn more about pagination in GraphQL.

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.

    • DATA_POOL_READ

      Grant read access to read Data Pools.

    • DATA_POOL_STATS

      Grant read access to fetch column statistics from Data Pools.

    • METRIC_QUERY

      Grant read access to query Metrics.

    • METRIC_STATS

      Grant read access to fetch Dimension statistics from Metrics.

    • METRIC_READ

      Grant read access to Metrics.

      This does not allow querying Metrics. For that, see METRIC_QUERY.

  • 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


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.

    • DATA_POOL_READ

      Grant read access to read Data Pools.

    • DATA_POOL_STATS

      Grant read access to fetch column statistics from Data Pools.

    • METRIC_QUERY

      Grant read access to query Metrics.

    • METRIC_STATS

      Grant read access to fetch Dimension statistics from Metrics.

    • METRIC_READ

      Grant read access to Metrics.

      This does not allow querying Metrics. For that, see METRIC_QUERY.

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

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:

  1. The Data Pool's Tenant ID column (if present)
  2. Metric Filter columns (if present)
  3. Query Filter Dimensions (see dimensions)
  4. The Data Pool's timestamp column
  • 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.filters optional array of FilterInput

      The Query Filters to apply before retrieving the counter data. 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.filters optional array of FilterInput

      The Query Filters to apply before retrieving the counter data. 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.filters optional array of FilterInput

      The filters to apply to the records. 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.

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

Learn more about Data Pools.

  • 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.uniqueId nullable UniqueId

    The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

  • 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.syncs.first optional Int

    • dataPool.syncs.after optional String

    • dataPool.syncs.last optional Int

    • dataPool.syncs.before optional String

  • 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 nullable 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.rows non-null array of Filter

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

  • 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


Returns

Nullable DataPool

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

Learn more about Data Pools.

  • 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.uniqueId nullable UniqueId

    The Data Pool's unique ID column. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated within the Data Pool.

  • 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.syncs.first optional Int

    • dataPoolByName.syncs.after optional String

    • dataPoolByName.syncs.last optional Int

    • dataPoolByName.syncs.before optional String

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


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

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


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.


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

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.

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.filters non-null array of Filter

    The list of filters that will be used for deleting data. 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.

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.filters optional array of FilterInput

      The list of filters to apply before retrieving the leaderboard data. 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

materializedViewByName

This query returns the Materialized View specified by its unique name.

Arguments


Returns

Nullable MaterializedView

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.

Learn more about Metrics.

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


metricByName

This query returns the Metric specified by the given unique name.

A Metric is a business indicator measured over time.

Arguments


Returns

Nullable Metric

The Metric object.

A Metric is a business indicator measured over time.

Learn more about Metrics.

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


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.filters optional array of FilterInput

      The Query Filters to apply when building the Metric Report. 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.

    • input.dataPool required DataPoolInput

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

    • input.columns required array of String

      The columns to retrieve.

    • input.uniqueIds required array of String

      The unique IDs of the records to retrieve.


Returns

Non-null RecordsByUniqueIdResponse

sqlV1

Query Data Pools using SQL.

Arguments

  • input required SqlV1Input

    Input to the SqlV1 api.


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.filters optional array of FilterInput

      The Query Filters to apply before retrieving the time series data. If no Query Filters are provided, all data is included.


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.

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.filters non-null array of Filter

    The list of filters that will be used for updating data. 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

  • status required JobStatus

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

  • first optional Int

  • after optional String

  • last optional Int

  • before optional String


Returns

Non-null UpdateDataPoolRecordsJobConnection

The Update Data Pool records Job connection object.

Learn more about pagination in GraphQL.