Skip to main content

DataPool

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

Learn more about Data Pools.

fields

  • id non-null ID

    The Data Pool's unique identifier.

  • uniqueName non-null String

    The Data Pool's unique name.

  • description non-null String

    The Data Pool's description.

  • account non-null Account

    The Data Pool's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Data Pool's Environment.

    The Environments object.

    Environments are independent and isolated Propel workspaces for development, staging (testing), and production workloads. Environments are hosted in a specific region, initially in us-east-2 only.

  • createdAt non-null DateTime

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

  • modifiedAt non-null DateTime

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

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

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

  • dataSource non-null DataSource

    The Data Pool's Data Source.

    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.

      • Http

        Indicates an Http Data Source.

      • BIGQUERY

        Indicates a BigQuery Data Source.

      • Snowflake

        Indicates a Snowflake 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.

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

  • dataRetentionInDays non-null Int

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

  • table non-null String

    The name of the Data Pool's table.

  • timestamp non-null Timestamp

    The Data Pool's primary timestamp column.

    A Data Pool's primary timestamp column. Propel uses the primary timestamp to order and partition your data in Data Pools. It will serve as the time dimension for your Metrics.

    • timestamp.columnName non-null String

      The name of the column that represents the primary timestamp.

    • timestamp.type non-null String

      The primary timestamp column's type.

  • tenant nullable Tenant

    The Data Pool's tenant ID, if configured.

    A Data Pool's tenant ID column. The tenant ID column is used to control access to your data with access policies.

    • tenant.columnName non-null String

      The name of the column that represents the tenant ID.

    • tenant.type non-null String

      The tenant ID column's type.

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

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

    • uniqueId.columnName non-null String

      The name of the column that represents the unique ID.

  • recordCount nullable String

    The number of records in the Data Pool.

  • sizeInTerabytes nullable Float

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

  • columns nullable DataPoolColumnConnection

    The Data Pool's columns.

    The Data Pool column connection object.

    Learn more about pagination in GraphQL.

  • availableMeasures nullable DataPoolColumnConnection

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

    The Data Pool column connection object.

    Learn more about pagination in GraphQL.

  • setupTasks nullable array of DataPoolSetupTask

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

    The Data Pool Setup Task object.

    Data Pool Setup Tasks are executed when setting up your Data Pool. They ensure Propel will be able to sync records from your Data Source to your Data Pool.

    The exact Setup Tasks to perform vary by Data Source. For example, Data Pools pointing to a Snowflake-backed Data Sources will have their own specific Setup Tasks.

    • setupTasks.name non-null String

      The name of the Data Pool Setup Task to be performed.

    • setupTasks.description nullable String

      A description of the Data Pool Setup Task to be performed.

    • setupTasks.status non-null DataPoolSetupTaskStatus

      The status of the Data Pool Setup Task (all setup tasks begin as NOT_STARTED before transitioning to SUCCEEDED or FAILED).

      The status of a Data Pool Setup Task.

      • NOT_STARTED

        The Data Pool Setup Task has not been started yet.

      • SUCCEEDED

        The Data Pool Setup Task has completed successfully.

      • FAILED

        The Data Pool Setup Task has failed.

    • setupTasks.error nullable Error

      If the Data Pool Setup Task failed, this field includes a descriptive error message.

    • setupTasks.completedAt nullable DateTime

      The time at which the Data Pool Setup Task was completed.

  • syncing non-null DataPoolSyncing

    Settings related to Data Pool syncing.

    Settings related to Data Pool syncing.

    • syncing.status non-null DataPoolSyncStatus

      Indicates whether syncing is enabled or disabled.

      The Data Pool Sync Status. It indicates whether a Data Pool is syncing data or not.

      • ENABLED

        Syncing is enabled for the Data Pool.

      • DISABLING

        Propel is disabling syncing for the Data Pool.

      • DISABLED

        Syncing is disabled for the Data Pool.

    • syncing.interval nullable DataPoolSyncInterval

      The syncing interval.

      Note that the syncing interval is approximate. For example, setting the syncing interval to EVERY_1_HOUR does not mean that syncing will occur exactly on the hour. Instead, the syncing interval starts relative to when the Data Pool goes LIVE, and Propel will attempt to sync approximately every hour. Additionally, if you pause or resume syncing, this too can shift the syncing interval around.

      The available Data Pool sync intervals. Specify unit of time between attempts to sync data from your data warehouse.

      Note that the syncing interval is approximate. For example, setting the syncing interval to EVERY_1_HOUR does not mean that syncing will occur exactly on the hour. Instead, the syncing interval starts relative to when the Data Pool goes LIVE, and Propel will attempt to sync approximately every hour. Additionally, if you pause or resume syncing, this too can shift the syncing interval around.

      • EVERY_1_MINUTE

      • EVERY_5_MINUTES

      • EVERY_15_MINUTES

      • EVERY_30_MINUTES

      • EVERY_1_HOUR

      • EVERY_4_HOURS

      • EVERY_12_HOURS

      • EVERY_24_HOURS

    • syncing.lastSyncedAt nullable DateTime

      The date and time of the most recent Sync in UTC.

  • syncs nullable SyncConnection

    The list of Syncs of the Data Pool.

    • syncs.filter optional SyncsFilter

      The filter to apply when listing the Syncs for a Data Pool.

      • EMPTY

        Returns only Syncs with empty records.

      • NOT_EMPTY

        Returns only Syncs that contain one or more records.

      • ALL

        Returns all Syncs, regardless of whether they contain records or not.

    • syncs.first optional Int

    • syncs.after optional String

    • syncs.last optional Int

    • syncs.before optional String

    The Sync connection object.

    Learn more about pagination in GraphQL.

    • syncs.edges non-null array of SyncEdge

      The Sync connection's edges.

    • syncs.nodes non-null array of Sync

      The Sync connection's nodes.

    • syncs.pageInfo non-null PageInfo

      The Sync connection's page info.

  • metrics nullable MetricConnection

    The list of Metrics powered by the Data Pool.

    The Metric connection object.

    Learn more about pagination in GraphQL.

  • deletionJobs nullable DeletionJobConnection

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

    The Deletion Job connection object.

    Learn more about pagination in GraphQL.

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

  • dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

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

    The Data Pool Access Policy connection object.

    Learn more about pagination in GraphQL.

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

    Response returned by the validateExpression query for validating expressions in Custom Metrics.

    Returns whether the expression is valid or not with a reason explaining why.