Skip to main content

Objects

Account

The Account object.

Fields

  • id non-null ID

    The Account's unique identifier.

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.

Fields

  • id non-null ID

    The AddColumnToDataPoolJob's ID.

  • createdAt non-null DateTime

    The AddColumnToDataPoolJob's creation date and time in UTC.

  • createdBy non-null String

    Who created the AddColumnToDataPoolJob.

  • modifiedAt non-null DateTime

    The AddColumnToDataPoolJob's last modification date and time in UTC.

  • modifiedBy non-null String

    Who modified the AddColumnToDataPoolJob last.

  • account non-null Account

    Account to which the AddColumnToDataPoolJob belongs.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    Environment to which the AddColumnToDataPoolJob belongs.

    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.

  • dataPool non-null DataPool

    The Data Pool to which a column will be added by the Job.

    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.

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

  • columnName non-null String

    Name of the new column.

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

  • jsonProperty nullable String

    JSON property to which the new column corresponds.

  • error nullable Error

    The error that occurred while adding the column data, if any.

    The error object.

  • progress non-null Float

    The current progress of the AddColumnToDataPool Job, from 0.0 to 1.0.

  • startedAt nullable DateTime

    The time at which the AddColumnToDataPool Job started.

  • succeededAt nullable DateTime

    The time at which the AddColumnToDataPool Job succeeded.

  • failedAt nullable DateTime

    The time at which the AddColumnToDataPool Job failed.

AddColumnToDataPoolJobConnection

The Add column to Data Pool Job connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of AddColumnToDataPoolJobEdge

    The Add column to Data Pool Job connection's edges.

    The Add column to Data Pool Job edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of AddColumnToDataPoolJob

    The Add column to Data Pool Job connection's nodes.

    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.

    • nodes.id non-null ID

      The AddColumnToDataPoolJob's ID.

    • nodes.createdAt non-null DateTime

      The AddColumnToDataPoolJob's creation date and time in UTC.

    • nodes.createdBy non-null String

      Who created the AddColumnToDataPoolJob.

    • nodes.modifiedAt non-null DateTime

      The AddColumnToDataPoolJob's last modification date and time in UTC.

    • nodes.modifiedBy non-null String

      Who modified the AddColumnToDataPoolJob last.

    • nodes.account non-null Account

      Account to which the AddColumnToDataPoolJob belongs.

    • nodes.environment non-null Environment

      Environment to which the AddColumnToDataPoolJob belongs.

    • nodes.dataPool non-null DataPool

      The Data Pool to which a column will be added by the Job.

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

    • nodes.columnName non-null String

      Name of the new column.

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

    • nodes.jsonProperty nullable String

      JSON property to which the new column corresponds.

    • nodes.error nullable Error

      The error that occurred while adding the column data, if any.

    • nodes.progress non-null Float

      The current progress of the AddColumnToDataPool Job, from 0.0 to 1.0.

    • nodes.startedAt nullable DateTime

      The time at which the AddColumnToDataPool Job started.

    • nodes.succeededAt nullable DateTime

      The time at which the AddColumnToDataPool Job succeeded.

    • nodes.failedAt nullable DateTime

      The time at which the AddColumnToDataPool Job failed.

  • pageInfo non-null PageInfo

    The Add column to Data Pool Job connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

AddColumnToDataPoolJobEdge

The Add column to Data Pool Job edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null AddColumnToDataPoolJob

    The edge's node.

    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.

    • node.id non-null ID

      The AddColumnToDataPoolJob's ID.

    • node.createdAt non-null DateTime

      The AddColumnToDataPoolJob's creation date and time in UTC.

    • node.createdBy non-null String

      Who created the AddColumnToDataPoolJob.

    • node.modifiedAt non-null DateTime

      The AddColumnToDataPoolJob's last modification date and time in UTC.

    • node.modifiedBy non-null String

      Who modified the AddColumnToDataPoolJob last.

    • node.account non-null Account

      Account to which the AddColumnToDataPoolJob belongs.

    • node.environment non-null Environment

      Environment to which the AddColumnToDataPoolJob belongs.

    • node.dataPool non-null DataPool

      The Data Pool to which a column will be added by the Job.

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

    • node.columnName non-null String

      Name of the new column.

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

    • node.jsonProperty nullable String

      JSON property to which the new column corresponds.

    • node.error nullable Error

      The error that occurred while adding the column data, if any.

    • node.progress non-null Float

      The current progress of the AddColumnToDataPool Job, from 0.0 to 1.0.

    • node.startedAt nullable DateTime

      The time at which the AddColumnToDataPool Job started.

    • node.succeededAt nullable DateTime

      The time at which the AddColumnToDataPool Job succeeded.

    • node.failedAt nullable DateTime

      The time at which the AddColumnToDataPool Job failed.

AddColumnToDataPoolJobResponse

The response returned by the Add Column Job.

Fields

  • job non-null AddColumnToDataPoolJob

    The AddColumnToDataPool Job that was just created.

    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.

    • job.id non-null ID

      The AddColumnToDataPoolJob's ID.

    • job.createdAt non-null DateTime

      The AddColumnToDataPoolJob's creation date and time in UTC.

    • job.createdBy non-null String

      Who created the AddColumnToDataPoolJob.

    • job.modifiedAt non-null DateTime

      The AddColumnToDataPoolJob's last modification date and time in UTC.

    • job.modifiedBy non-null String

      Who modified the AddColumnToDataPoolJob last.

    • job.account non-null Account

      Account to which the AddColumnToDataPoolJob belongs.

    • job.environment non-null Environment

      Environment to which the AddColumnToDataPoolJob belongs.

    • job.dataPool non-null DataPool

      The Data Pool to which a column will be added by the Job.

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

    • job.columnName non-null String

      Name of the new column.

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

    • job.jsonProperty nullable String

      JSON property to which the new column corresponds.

    • job.error nullable Error

      The error that occurred while adding the column data, if any.

    • job.progress non-null Float

      The current progress of the AddColumnToDataPool Job, from 0.0 to 1.0.

    • job.startedAt nullable DateTime

      The time at which the AddColumnToDataPool Job started.

    • job.succeededAt nullable DateTime

      The time at which the AddColumnToDataPool Job succeeded.

    • job.failedAt nullable DateTime

      The time at which the AddColumnToDataPool Job failed.

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.

Fields

  • id non-null ID

    The Application's unique identifier.

  • uniqueName non-null String

    The Application's unique name.

  • description non-null String

    The Application's description.

  • account non-null Account

    The Application's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Application'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 Application's creation date and time in UTC.

  • modifiedAt non-null DateTime

    The Application's last modification date and time in UTC.

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

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

  • clientId non-null String

    The Application's OAuth 2.0 client identifier.

  • secret nullable String

    The Application's OAuth 2.0 client secret.

  • 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

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

  • dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

    A paginated list of Data Pool Access Policies associated with the Application.

    The Data Pool Access Policy connection object.

    Learn more about pagination in GraphQL.

ApplicationConnection

The Application connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of ApplicationEdge

    The Application connection's edges.

    The Application edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of Application

    The Application connection's nodes.

    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.

    • nodes.id non-null ID

      The Application's unique identifier.

    • nodes.uniqueName non-null String

      The Application's unique name.

    • nodes.description non-null String

      The Application's description.

    • nodes.account non-null Account

      The Application's Account.

    • nodes.environment non-null Environment

      The Application's Environment.

    • nodes.createdAt non-null DateTime

      The Application's creation date and time in UTC.

    • nodes.modifiedAt non-null DateTime

      The Application's last modification date and time in UTC.

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

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

    • nodes.clientId non-null String

      The Application's OAuth 2.0 client identifier.

    • nodes.secret nullable String

      The Application's OAuth 2.0 client secret.

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

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

    • nodes.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

      A paginated list of Data Pool Access Policies associated with the Application.

  • pageInfo non-null PageInfo

    The Application connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

ApplicationEdge

The Application edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null Application

    The edge's node.

    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.

    • node.id non-null ID

      The Application's unique identifier.

    • node.uniqueName non-null String

      The Application's unique name.

    • node.description non-null String

      The Application's description.

    • node.account non-null Account

      The Application's Account.

    • node.environment non-null Environment

      The Application's Environment.

    • node.createdAt non-null DateTime

      The Application's creation date and time in UTC.

    • node.modifiedAt non-null DateTime

      The Application's last modification date and time in UTC.

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

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

    • node.clientId non-null String

      The Application's OAuth 2.0 client identifier.

    • node.secret nullable String

      The Application's OAuth 2.0 client secret.

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

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

    • node.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

      A paginated list of Data Pool Access Policies associated with the Application.

ApplicationResponse

The result of a mutation which creates or modifies an Application.

Fields

  • application nullable Application

    The Application which was created or modified.

    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.

AverageMetricSettings

Settings for Average Metrics.

Fields

  • filters nullable array of Filter

    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the filters property on the timeSeriesInput, counterInput, or leaderboardInput objects. There is no need to add filters to be able to filter at query time.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • measure non-null Dimension

    The Dimension to be averaged.

    The Dimension object that represents a column in a table.

    • measure.columnName non-null String

      The column name it represents.

    • measure.type non-null String

      The column data type.

    • measure.isNullable nullable Boolean

      Whether the column is 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

Fields

  • id non-null ID

    The Booster's unique identifier.

  • account non-null Account

    The Booster's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Booster'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 Booster's creation date and time in UTC.

  • modifiedAt non-null DateTime

    The Booster's last modification date and time in UTC.

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

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

  • metric non-null Metric

    The Metric this Booster is associated to.

    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.


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

  • error nullable Error

    If the Booster fails during the optimization process, this field includes a descriptive error message.

    The error object.

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

  • dimensions non-null array of Dimension

    Dimensions included in the Booster.

    The Dimension object that represents a column in a table.

    • dimensions.columnName non-null String

      The column name it represents.

    • dimensions.type non-null String

      The column data type.

    • dimensions.isNullable nullable Boolean

      Whether the column is nullable.

  • recordCount nullable String

    The number of records in the Booster.

  • sizeInTerabytes nullable Float

    The amount of storage in terabytes used by the Booster.

BoosterConnection

The Booster connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of BoosterEdge

    The Booster connection's edges.

    The Booster edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of Booster

    The Booster connection's nodes.

    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
    • nodes.id non-null ID

      The Booster's unique identifier.

    • nodes.account non-null Account

      The Booster's Account.

    • nodes.environment non-null Environment

      The Booster's Environment.

    • nodes.createdAt non-null DateTime

      The Booster's creation date and time in UTC.

    • nodes.modifiedAt non-null DateTime

      The Booster's last modification date and time in UTC.

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

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

    • nodes.metric non-null Metric

      The Metric this Booster is associated to.

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

    • nodes.error nullable Error

      If the Booster fails during the optimization process, this field includes a descriptive error message.

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

    • nodes.dimensions non-null array of Dimension

      Dimensions included in the Booster.

    • nodes.recordCount nullable String

      The number of records in the Booster.

    • nodes.sizeInTerabytes nullable Float

      The amount of storage in terabytes used by the Booster.

  • pageInfo non-null PageInfo

    The Booster connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

BoosterEdge

The Booster edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null Booster

    The edge's node.

    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
    • node.id non-null ID

      The Booster's unique identifier.

    • node.account non-null Account

      The Booster's Account.

    • node.environment non-null Environment

      The Booster's Environment.

    • node.createdAt non-null DateTime

      The Booster's creation date and time in UTC.

    • node.modifiedAt non-null DateTime

      The Booster's last modification date and time in UTC.

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

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

    • node.metric non-null Metric

      The Metric this Booster is associated to.

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

    • node.error nullable Error

      If the Booster fails during the optimization process, this field includes a descriptive error message.

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

    • node.dimensions non-null array of Dimension

      Dimensions included in the Booster.

    • node.recordCount nullable String

      The number of records in the Booster.

    • node.sizeInTerabytes nullable Float

      The amount of storage in terabytes used by the Booster.

BoosterResponse

The result of a mutation which creates or modifies a Booster.

Fields

  • booster nullable Booster

    The Booster which was created or modified.

    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.

Column

The column object.

Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

Fields

  • name non-null String

    The column's name.

  • type non-null String

    The column's type.

  • isNullable nullable Boolean

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

  • cachedAt non-null DateTime

    The time at which the column was cached (i.e., the time at which it was introspected).

  • createdAt non-null DateTime

    The time at which the column was created. This is the same as its cachedAt time.

  • createdBy non-null String

    The column'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.

  • suggestedDataPoolColumnType nullable ColumnType

    This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column. Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns null.

    Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer to supportedDataPoolColumnTypes for the full set of supported conversions.

    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.

  • supportedDataPoolColumnTypes non-null array of ColumnType

    This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

    For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

    To learn more about the supported conversions, refer to the docs for your particular Data Source.

    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.

ColumnConnection

The column connection object.

Learn more about pagination in GraphQL.

Fields

  • cachedAt non-null DateTime

    The time at which the columns were cached (i.e., the time at which they were introspected).

  • edges non-null array of ColumnEdge

    The column connection's edges.

    The column edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of Column

    The column connection's nodes.

    The column object.

    Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

    • nodes.name non-null String

      The column's name.

    • nodes.type non-null String

      The column's type.

    • nodes.isNullable nullable Boolean

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

    • nodes.cachedAt non-null DateTime

      The time at which the column was cached (i.e., the time at which it was introspected).

    • nodes.createdAt non-null DateTime

      The time at which the column was created. This is the same as its cachedAt time.

    • nodes.createdBy non-null String

      The column'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.

    • nodes.suggestedDataPoolColumnType nullable ColumnType

      This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column. Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns null.

      Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer to supportedDataPoolColumnTypes for the full set of supported conversions.

      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.

    • nodes.supportedDataPoolColumnTypes non-null array of ColumnType

      This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

      For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

      To learn more about the supported conversions, refer to the docs for your particular Data Source.

      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.

  • pageInfo non-null PageInfo

    The column connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

ColumnEdge

The column edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null Column

    The edge's node.

    The column object.

    Once a table introspection succeeds, it creates a new table object for every table it introspected. Within each table object, it also creates a column object for every column it introspected.

    • node.name non-null String

      The column's name.

    • node.type non-null String

      The column's type.

    • node.isNullable nullable Boolean

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

    • node.cachedAt non-null DateTime

      The time at which the column was cached (i.e., the time at which it was introspected).

    • node.createdAt non-null DateTime

      The time at which the column was created. This is the same as its cachedAt time.

    • node.createdBy non-null String

      The column'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.

    • node.suggestedDataPoolColumnType nullable ColumnType

      This is the suggested Data Pool column type to use when converting this Data Source column to a Data Pool column. Propel makes this suggestion based on the Data Source column type. If the Data Source column type is unsupported, this field returns null.

      Sometimes, you know better which Data Pool column type to convert to. In these cases, you can refer to supportedDataPoolColumnTypes for the full set of supported conversions.

      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.

    • node.supportedDataPoolColumnTypes non-null array of ColumnType

      This is the set of supported Data Pool column types you can use when converting this Data Source column to a Data Pool column. If the Data Source column type is unsupported, this field returns an empty array.

      For example, a numeric Data Source column type could be converted to a narrower or wider numeric Data Pool column type; a string-valued Data Source column type could be mapped to a date or timestamp Data Pool column type.

      To learn more about the supported conversions, refer to the docs for your particular Data Source.

      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.

CountDistinctMetricSettings

Settings for Count Distinct Metrics.

Fields

  • filters nullable array of Filter

    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the filters property on the timeSeriesInput, counterInput, or leaderboardInput objects. There is no need to add filters to be able to filter at query time.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • dimension non-null Dimension

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

    The Dimension object that represents a column in a table.

    • dimension.columnName non-null String

      The column name it represents.

    • dimension.type non-null String

      The column data type.

    • dimension.isNullable nullable Boolean

      Whether the column is nullable.

CountMetricSettings

Settings for Count Metrics.

Fields

  • filters nullable array of Filter

    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the filters property on the timeSeriesInput, counterInput, or leaderboardInput objects. There is no need to add filters to be able to filter at query time.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

CounterResponse

The counter response object. It contains a single Metric value for the given time range and Query Filters.

Fields

  • value nullable String

    The value of the counter.

  • query non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • query.id non-null ID

      The Query's unique identifier.

    • query.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • query.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • query.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • query.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • query.bytesProcessed non-null String

      The bytes processed by the Query.

    • query.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • query.recordsProcessed non-null String

      The number of records processed by the Query.

    • query.resultingBytes non-null Int

      The bytes returned by the Query.

    • query.resultingRecords non-null Int

      The number of records returned by the Query.

    • query.propeller nullable Propeller

      The Propeller used for this query.

      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

    • query.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • query.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • query.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

CustomMetricSettings

Settings for Custom Metrics.

Fields

  • filters nullable array of Filter

    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the filters property on the timeSeriesInput, counterInput, or leaderboardInput objects. There is no need to add filters to be able to filter at query time.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • expression non-null String

    The expression that defines the aggregation function for this Metric.

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.

Fields

  • headers non-null array of String

    The Data Grid table's headers.

  • rows non-null array of String

    An array of arrays containing the values of the Data Grid table's rows.

  • query non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • query.id non-null ID

      The Query's unique identifier.

    • query.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • query.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • query.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • query.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • query.bytesProcessed non-null String

      The bytes processed by the Query.

    • query.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • query.recordsProcessed non-null String

      The number of records processed by the Query.

    • query.resultingBytes non-null Int

      The bytes returned by the Query.

    • query.resultingRecords non-null Int

      The number of records returned by the Query.

    • query.propeller nullable Propeller

      The Propeller used for this query.

      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

    • query.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • query.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • query.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

  • pageInfo non-null PageInfo

    The Data Grid table's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

  • edges non-null array of DataGridEdge

    The Data Grid table's edges.

    The Data Grid edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of DataGridNode

    The Data Grid table's nodes.

    The Data Grid table's node.

    This type represents a single row of a Data Grid table.

    Learn more about pagination in GraphQL.

    • nodes.headers non-null array of String

      The Data Grid table's headers.

    • nodes.row non-null array of String

      An array of the values for the row.

DataGridEdge

The Data Grid edge object.

Learn more about pagination in GraphQL.

Fields

  • node non-null DataGridNode

    The edge's node.

    The Data Grid table's node.

    This type represents a single row of a Data Grid table.

    Learn more about pagination in GraphQL.

    • node.headers non-null array of String

      The Data Grid table's headers.

    • node.row non-null array of String

      An array of the values for the row.

  • cursor non-null String

    The edge's cursor.

DataGridNode

The Data Grid table's node.

This type represents a single row of a Data Grid table.

Learn more about pagination in GraphQL.

Fields

  • headers non-null array of String

    The Data Grid table's headers.

  • row non-null array of String

    An array of the values for the row.

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.

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

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

    The Data Pool's primary timestamp column, if any.

    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.

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

  • addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

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

    The Add column to Data Pool Job connection object.

    Learn more about pagination in GraphQL.

  • updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

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

    The Update Data Pool records 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.

  • tableSettings nullable TableSettings

    The Data Pool's table settings.

    A Data Pool's table settings.

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

  • partitionByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PARTITION BY clause.

    • partitionByColumns.columnName non-null String

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

    • partitionByColumns.type non-null ColumnType

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

      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.

    • partitionByColumns.isNullable non-null Boolean

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

  • primaryKeyColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its PRIMARY KEY clause.

    • primaryKeyColumns.columnName non-null String

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

    • primaryKeyColumns.type non-null ColumnType

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

      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.

    • primaryKeyColumns.isNullable non-null Boolean

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

  • orderByColumns nullable array of DataPoolColumn

    The Data Pool's columns that participate in its ORDER BY clause.

    • orderByColumns.columnName non-null String

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

    • orderByColumns.type non-null ColumnType

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

      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.

    • orderByColumns.isNullable non-null Boolean

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

DataPoolAccessPolicy

Fields

  • id non-null ID

    The ID of the Data Pool Access Policy.

  • uniqueName non-null String

    The Data Pool Access Policy's unique name.

  • description non-null String

    The Data Pool Access Policy's description.

  • account non-null Account

    The Data Pool Access Policy's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Data Pool Access Policy'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 Access Policy's creation date and time in UTC.

  • modifiedAt non-null DateTime

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

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

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

  • dataPool non-null DataPool

    The Data Pool to which the Access Policy belongs.

    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.

  • columns non-null array of String

    Columns that the Access Policy makes available for querying.

  • rows non-null array of Filter

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

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • rows.column non-null String

      The name of the column to filter on.

    • rows.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • rows.value nullable String

      The value to compare the column to.

    • rows.and nullable array of Filter

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

    • rows.or nullable array of Filter

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

  • applications non-null ApplicationConnection

    Applications that are assigned to this Data Pool Access Policy.

    The Application connection object.

    Learn more about pagination in GraphQL.

DataPoolAccessPolicyConnection

The Data Pool Access Policy connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of DataPoolAccessPolicyEdge

    The Data Pool Access Policy connection's edges.

    The Data Pool Access Policy edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of DataPoolAccessPolicy

    The Data Pool Access Policy connection's nodes.

    • nodes.id non-null ID

      The ID of the Data Pool Access Policy.

    • nodes.uniqueName non-null String

      The Data Pool Access Policy's unique name.

    • nodes.description non-null String

      The Data Pool Access Policy's description.

    • nodes.account non-null Account

      The Data Pool Access Policy's Account.

    • nodes.environment non-null Environment

      The Data Pool Access Policy's Environment.

    • nodes.createdAt non-null DateTime

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

    • nodes.modifiedAt non-null DateTime

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

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

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

    • nodes.dataPool non-null DataPool

      The Data Pool to which the Access Policy belongs.

    • nodes.columns non-null array of String

      Columns that the Access Policy makes available for querying.

    • nodes.rows non-null array of Filter

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

    • nodes.applications non-null ApplicationConnection

      Applications that are assigned to this Data Pool Access Policy.

  • pageInfo non-null PageInfo

    The Data Pool Access Policy connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

DataPoolAccessPolicyEdge

The Data Pool Access Policy edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null DataPoolAccessPolicy

    The edge's node.

    • node.id non-null ID

      The ID of the Data Pool Access Policy.

    • node.uniqueName non-null String

      The Data Pool Access Policy's unique name.

    • node.description non-null String

      The Data Pool Access Policy's description.

    • node.account non-null Account

      The Data Pool Access Policy's Account.

    • node.environment non-null Environment

      The Data Pool Access Policy's Environment.

    • node.createdAt non-null DateTime

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

    • node.modifiedAt non-null DateTime

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

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

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

    • node.dataPool non-null DataPool

      The Data Pool to which the Access Policy belongs.

    • node.columns non-null array of String

      Columns that the Access Policy makes available for querying.

    • node.rows non-null array of Filter

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

    • node.applications non-null ApplicationConnection

      Applications that are assigned to this Data Pool Access Policy.

DataPoolAccessPolicyResponse

Fields

  • dataPoolAccessPolicy non-null DataPoolAccessPolicy

    The Data Pool Access Policy.

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

DataPoolColumn

Fields

  • columnName non-null String

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

  • type non-null ColumnType

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

    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.

  • isNullable non-null Boolean

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

DataPoolColumnConnection

The Data Pool column connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of DataPoolColumnEdge

    The Data Pool column connection's edges.

    The Data Pool column edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of DataPoolColumn

    The Data Pool column connection's nodes.

    • nodes.columnName non-null String

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

    • nodes.type non-null ColumnType

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

      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.

    • nodes.isNullable non-null Boolean

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

  • pageInfo non-null PageInfo

    The Data Pool column connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

DataPoolColumnEdge

The Data Pool column edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null DataPoolColumn

    The edge's node.

    • node.columnName non-null String

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

    • node.type non-null ColumnType

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

      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.

    • node.isNullable non-null Boolean

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

DataPoolConnection

The Data Pool connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of DataPoolEdge

    The Data Pool connection's edges.

    The Data Pool edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of DataPool

    The Data Pool connection's nodes.

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

    Learn more about Data Pools.

    • nodes.id non-null ID

      The Data Pool's unique identifier.

    • nodes.uniqueName non-null String

      The Data Pool's unique name.

    • nodes.description non-null String

      The Data Pool's description.

    • nodes.account non-null Account

      The Data Pool's Account.

    • nodes.environment non-null Environment

      The Data Pool's Environment.

    • nodes.createdAt non-null DateTime

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

    • nodes.modifiedAt non-null DateTime

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

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

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

    • nodes.dataSource non-null DataSource

      The Data Pool's Data Source.

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

    • nodes.dataRetentionInDays non-null Int

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

    • nodes.table non-null String

      The name of the Data Pool's table.

    • nodes.timestamp nullable Timestamp

      The Data Pool's primary timestamp column, if any.

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

    • nodes.recordCount nullable String

      The number of records in the Data Pool.

    • nodes.sizeInTerabytes nullable Float

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

    • nodes.columns nullable DataPoolColumnConnection

      The Data Pool's columns.

    • nodes.availableMeasures nullable DataPoolColumnConnection

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

    • nodes.setupTasks nullable array of DataPoolSetupTask

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

    • nodes.syncing non-null DataPoolSyncing

      Settings related to Data Pool syncing.

    • nodes.syncs nullable SyncConnection

      The list of Syncs of the Data Pool.

      • nodes.syncs.first optional Int

      • nodes.syncs.after optional String

      • nodes.syncs.last optional Int

      • nodes.syncs.before optional String

    • nodes.metrics nullable MetricConnection

      The list of Metrics powered by the Data Pool.

    • nodes.deletionJobs nullable DeletionJobConnection

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

    • nodes.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

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

    • nodes.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

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

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

    • nodes.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

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

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

    • nodes.tableSettings nullable TableSettings

      The Data Pool's table settings.

    • nodes.partitionByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PARTITION BY clause.

    • nodes.primaryKeyColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PRIMARY KEY clause.

    • nodes.orderByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its ORDER BY clause.

  • pageInfo non-null PageInfo

    The Data Pool connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

DataPoolEdge

The Data Pool edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null DataPool

    The edge's node.

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

    Learn more about Data Pools.

    • node.id non-null ID

      The Data Pool's unique identifier.

    • node.uniqueName non-null String

      The Data Pool's unique name.

    • node.description non-null String

      The Data Pool's description.

    • node.account non-null Account

      The Data Pool's Account.

    • node.environment non-null Environment

      The Data Pool's Environment.

    • node.createdAt non-null DateTime

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

    • node.modifiedAt non-null DateTime

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

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

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

    • node.dataSource non-null DataSource

      The Data Pool's Data Source.

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

    • node.dataRetentionInDays non-null Int

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

    • node.table non-null String

      The name of the Data Pool's table.

    • node.timestamp nullable Timestamp

      The Data Pool's primary timestamp column, if any.

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

    • node.recordCount nullable String

      The number of records in the Data Pool.

    • node.sizeInTerabytes nullable Float

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

    • node.columns nullable DataPoolColumnConnection

      The Data Pool's columns.

    • node.availableMeasures nullable DataPoolColumnConnection

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

    • node.setupTasks nullable array of DataPoolSetupTask

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

    • node.syncing non-null DataPoolSyncing

      Settings related to Data Pool syncing.

    • node.syncs nullable SyncConnection

      The list of Syncs of the Data Pool.

      • node.syncs.first optional Int

      • node.syncs.after optional String

      • node.syncs.last optional Int

      • node.syncs.before optional String

    • node.metrics nullable MetricConnection

      The list of Metrics powered by the Data Pool.

    • node.deletionJobs nullable DeletionJobConnection

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

    • node.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

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

    • node.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

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

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

    • node.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

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

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

    • node.tableSettings nullable TableSettings

      The Data Pool's table settings.

    • node.partitionByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PARTITION BY clause.

    • node.primaryKeyColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PRIMARY KEY clause.

    • node.orderByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its ORDER BY clause.

DataPoolResponse

The result of a mutation which creates or modifies a Data Pool.

Fields

  • dataPool nullable DataPool

    The Data Pool which was created or modified.

    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.

DataPoolSetupTask

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.

Fields

  • name non-null String

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

  • description nullable String

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

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

  • error nullable Error

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

    The error object.

  • completedAt nullable DateTime

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

DataPoolSyncing

Settings related to Data Pool syncing.

Fields

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

  • 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

  • lastSyncedAt nullable DateTime

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

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.

Fields

  • id non-null ID

    The Data Source's unique identifier.

  • uniqueName non-null String

    The Data Source's unique name.

  • description non-null String

    The Data Source's description.

  • account non-null Account

    The Data Source's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Data Source'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 Source's creation date and time in UTC.

  • modifiedAt non-null DateTime

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

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

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

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

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

  • connectionSettings non-null ConnectionSettings

    The Data Source's connection settings.


  • tables nullable TableConnection

    The tables contained within the Data Source, according to the most recent table introspection.

    The table connection object.

    Learn more about pagination in GraphQL.

    • tables.cachedAt non-null DateTime

      The time at which the tables were cached (i.e., the time at which they were introspected).

    • tables.edges non-null array of TableEdge

      The table connection's edges.

    • tables.nodes non-null array of Table

      The table connection's nodes.

    • tables.pageInfo non-null PageInfo

      The table connection's page info.

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

    The table introspection connection object.

    Learn more about pagination in GraphQL.

  • checks nullable array of DataSourceCheck

    A list of checks performed on the Data Source during its most recent connection attempt.

    The Data Source Check object.

    Data Source Checks are executed when setting up your Data Source. They check that Propel will be able to receive data and setup Data Pools.

    The exact Checks to perform vary by Data Source. For example, Snowflake-backed Data Sources will have their own specific Checks.

    • checks.name non-null String

      The name of the Data Source Check to be performed.

    • checks.description nullable String

      A description of the Data Source Check to be performed.

    • checks.status non-null DataSourceCheckStatus

      The status of the Data Source Check (all checks begin as NOT_STARTED before transitioning to SUCCEEDED or FAILED).

      The status of a Data Source Check.

      • NOT_STARTED

        The Check has not started.

      • SUCCEEDED

        The Check succeeded.

      • FAILED

        The Check failed.

    • checks.error nullable Error

      If the Data Source Check failed, this field includes a descriptive error message.

    • checks.checkedAt nullable DateTime

      The time at which the Data Source Check was performed.

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

    The Data Pool connection object.

    Learn more about pagination in GraphQL.

DataSourceCheck

The Data Source Check object.

Data Source Checks are executed when setting up your Data Source. They check that Propel will be able to receive data and setup Data Pools.

The exact Checks to perform vary by Data Source. For example, Snowflake-backed Data Sources will have their own specific Checks.

Fields

  • name non-null String

    The name of the Data Source Check to be performed.

  • description nullable String

    A description of the Data Source Check to be performed.

  • status non-null DataSourceCheckStatus

    The status of the Data Source Check (all checks begin as NOT_STARTED before transitioning to SUCCEEDED or FAILED).

    The status of a Data Source Check.

    • NOT_STARTED

      The Check has not started.

    • SUCCEEDED

      The Check succeeded.

    • FAILED

      The Check failed.

  • error nullable Error

    If the Data Source Check failed, this field includes a descriptive error message.

    The error object.

  • checkedAt nullable DateTime

    The time at which the Data Source Check was performed.

DataSourceConnection

The Data Source connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of DataSourceEdge

    The Data Source connection's edges.

    The Data Source edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of DataSource

    The Data Source connection's nodes.

    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.

    • nodes.id non-null ID

      The Data Source's unique identifier.

    • nodes.uniqueName non-null String

      The Data Source's unique name.

    • nodes.description non-null String

      The Data Source's description.

    • nodes.account non-null Account

      The Data Source's Account.

    • nodes.environment non-null Environment

      The Data Source's Environment.

    • nodes.createdAt non-null DateTime

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

    • nodes.modifiedAt non-null DateTime

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

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

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

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

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

    • nodes.connectionSettings non-null ConnectionSettings

      The Data Source's connection settings.


    • nodes.tables nullable TableConnection

      The tables contained within the Data Source, according to the most recent table introspection.

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

    • nodes.checks nullable array of DataSourceCheck

      A list of checks performed on the Data Source during its most recent connection attempt.

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

  • pageInfo non-null PageInfo

    The Data Source connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

DataSourceEdge

The Data Source edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null DataSource

    The edge's node.

    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.

    • node.id non-null ID

      The Data Source's unique identifier.

    • node.uniqueName non-null String

      The Data Source's unique name.

    • node.description non-null String

      The Data Source's description.

    • node.account non-null Account

      The Data Source's Account.

    • node.environment non-null Environment

      The Data Source's Environment.

    • node.createdAt non-null DateTime

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

    • node.modifiedAt non-null DateTime

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

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

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

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

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

    • node.connectionSettings non-null ConnectionSettings

      The Data Source's connection settings.


    • node.tables nullable TableConnection

      The tables contained within the Data Source, according to the most recent table introspection.

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

    • node.checks nullable array of DataSourceCheck

      A list of checks performed on the Data Source during its most recent connection attempt.

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

DataSourceResponse

The result of a mutation which creates or modifies a Data Source.

Fields

  • dataSource nullable DataSource

    The Data Source which was created or modified.

    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.

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.

Fields

  • id non-null ID

    The Deletion Job's ID.

  • createdAt non-null DateTime

    The Deletion Job's creation date and time in UTC.

  • createdBy non-null String

    Who created the Deletion Job.

  • modifiedAt non-null DateTime

    The Deletion Job's last modification date and time in UTC.

  • modifiedBy non-null String

    Who last modified the Deletion Job.

  • account non-null Account

    Account to which the Deletion Job belongs.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    Environment to which the Deletion Job belongs.

    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.

  • dataPool non-null DataPool

    The Data Pool whose records will be deleted by the Deletion Job.

    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.

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

  • filters non-null array of Filter

    The list of filters that will be used for deleting data. Data matching the filters will be deleted.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • error nullable Error

    The error that occurred while deleting data, if any.

    The error object.

  • progress non-null Float

    The current progress of the Deletion Job, from 0.0 to 1.0.

  • startedAt nullable DateTime

    The time at which the Deletion Job started.

  • succeededAt nullable DateTime

    The time at which the Deletion Job succeeded.

  • failedAt nullable DateTime

    The time at which the Deletion Job failed.

DeletionJobConnection

The Deletion Job connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of DeletionJobEdge

    The Deletion Job connection's edges.

    The Deletion Job edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of DeletionJob

    The Deletion Job connection's nodes.

    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.

    • nodes.id non-null ID

      The Deletion Job's ID.

    • nodes.createdAt non-null DateTime

      The Deletion Job's creation date and time in UTC.

    • nodes.createdBy non-null String

      Who created the Deletion Job.

    • nodes.modifiedAt non-null DateTime

      The Deletion Job's last modification date and time in UTC.

    • nodes.modifiedBy non-null String

      Who last modified the Deletion Job.

    • nodes.account non-null Account

      Account to which the Deletion Job belongs.

    • nodes.environment non-null Environment

      Environment to which the Deletion Job belongs.

    • nodes.dataPool non-null DataPool

      The Data Pool whose records will be deleted by the Deletion Job.

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

    • nodes.filters non-null array of Filter

      The list of filters that will be used for deleting data. Data matching the filters will be deleted.

    • nodes.error nullable Error

      The error that occurred while deleting data, if any.

    • nodes.progress non-null Float

      The current progress of the Deletion Job, from 0.0 to 1.0.

    • nodes.startedAt nullable DateTime

      The time at which the Deletion Job started.

    • nodes.succeededAt nullable DateTime

      The time at which the Deletion Job succeeded.

    • nodes.failedAt nullable DateTime

      The time at which the Deletion Job failed.

  • pageInfo non-null PageInfo

    The Deletion Job connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

DeletionJobEdge

The Deletion Job edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null DeletionJob

    The edge's node.

    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.

    • node.id non-null ID

      The Deletion Job's ID.

    • node.createdAt non-null DateTime

      The Deletion Job's creation date and time in UTC.

    • node.createdBy non-null String

      Who created the Deletion Job.

    • node.modifiedAt non-null DateTime

      The Deletion Job's last modification date and time in UTC.

    • node.modifiedBy non-null String

      Who last modified the Deletion Job.

    • node.account non-null Account

      Account to which the Deletion Job belongs.

    • node.environment non-null Environment

      Environment to which the Deletion Job belongs.

    • node.dataPool non-null DataPool

      The Data Pool whose records will be deleted by the Deletion Job.

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

    • node.filters non-null array of Filter

      The list of filters that will be used for deleting data. Data matching the filters will be deleted.

    • node.error nullable Error

      The error that occurred while deleting data, if any.

    • node.progress non-null Float

      The current progress of the Deletion Job, from 0.0 to 1.0.

    • node.startedAt nullable DateTime

      The time at which the Deletion Job started.

    • node.succeededAt nullable DateTime

      The time at which the Deletion Job succeeded.

    • node.failedAt nullable DateTime

      The time at which the Deletion Job failed.

DeletionJobResponse

The response returned by the Deletion Job.

Fields

  • job non-null DeletionJob

    The Deletion Job that was just created.

    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.

    • job.id non-null ID

      The Deletion Job's ID.

    • job.createdAt non-null DateTime

      The Deletion Job's creation date and time in UTC.

    • job.createdBy non-null String

      Who created the Deletion Job.

    • job.modifiedAt non-null DateTime

      The Deletion Job's last modification date and time in UTC.

    • job.modifiedBy non-null String

      Who last modified the Deletion Job.

    • job.account non-null Account

      Account to which the Deletion Job belongs.

    • job.environment non-null Environment

      Environment to which the Deletion Job belongs.

    • job.dataPool non-null DataPool

      The Data Pool whose records will be deleted by the Deletion Job.

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

    • job.filters non-null array of Filter

      The list of filters that will be used for deleting data. Data matching the filters will be deleted.

    • job.error nullable Error

      The error that occurred while deleting data, if any.

    • job.progress non-null Float

      The current progress of the Deletion Job, from 0.0 to 1.0.

    • job.startedAt nullable DateTime

      The time at which the Deletion Job started.

    • job.succeededAt nullable DateTime

      The time at which the Deletion Job succeeded.

    • job.failedAt nullable DateTime

      The time at which the Deletion Job failed.

Dimension

The Dimension object that represents a column in a table.

Fields

  • columnName non-null String

    The column name it represents.

  • type non-null String

    The column data type.

  • isNullable nullable Boolean

    Whether the column is nullable.

DimensionStatistics

Statistics about a particular Dimension.

Fields

  • uniqueValues nullable array of String

    An array of unique values for the Dimension, up to 1,000. Empty if the Dimension contains more than 1,000 unique values. Fetching unique values incurs query costs.

  • min nullable String

    The minimum value of the Dimension.

  • max nullable String

    The maximum value of the Dimension.

  • average nullable String

    The average value of the Dimension. Empty for non-numeric Dimensions.

  • query non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • query.id non-null ID

      The Query's unique identifier.

    • query.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • query.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • query.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • query.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • query.bytesProcessed non-null String

      The bytes processed by the Query.

    • query.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • query.recordsProcessed non-null String

      The number of records processed by the Query.

    • query.resultingBytes non-null Int

      The bytes returned by the Query.

    • query.resultingRecords non-null Int

      The number of records returned by the Query.

    • query.propeller nullable Propeller

      The Propeller used for this query.

      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

    • query.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • query.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • query.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

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.

Fields

  • id non-null ID

    The Environment's unique identifier.

Error

The error object.

Fields

  • code nullable Int

    The error code.

  • message non-null String

    The error message.

FailureResponse

The failure response object.

Fields

  • error non-null Error

    The error that caused the failure.

    The error object.

Filter

The fields of a filter.

You can construct more complex filters using and and or. For example, to construct a filter equivalent to

(value > 0 AND value <= 100) OR status = "confirmed"

you could write

{
  "column": "value",
  "operator": "GREATER_THAN",
  "value": "0",
  "and": [{
    "column": "value",
    "operator": "LESS_THAN_OR_EQUAL_TO",
    "value": "0"
  }],
  "or": [{
    "column": "status",
    "operator": "EQUALS",
    "value": "confirmed"
  }]
}

Note that and takes precedence over or.

Fields

  • column non-null String

    The name of the column to filter on.

  • operator non-null FilterOperator

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

    The available Filter operators.

    • EQUALS

      Selects values that are equal to the specified value.

    • NOT_EQUALS

      Selects values that are not equal to the specified value.

    • GREATER_THAN

      Selects values that are greater than the specified value.

    • GREATER_THAN_OR_EQUAL_TO

      Selects values that are greater or equal to the specified value.

    • LESS_THAN

      Selects values that are less than the specified value.

    • LESS_THAN_OR_EQUAL_TO

      Selects values that are less or equal to the specified value.

    • IS_NULL

      Selects values that are null. This operator does not accept a value.

    • IS_NOT_NULL

      Selects values that are not null. This operator does not accept a value.

    • LIKE

      Selects values that match the specified pattern.

    • NOT_LIKE

      "Selects values that do not match the specified pattern.

  • value nullable String

    The value to compare the column to.

  • and nullable array of Filter

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

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • and.column non-null String

      The name of the column to filter on.

    • and.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • and.value nullable String

      The value to compare the column to.

    • and.and nullable array of Filter

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

    • and.or nullable array of Filter

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

  • or nullable array of Filter

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

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • or.column non-null String

      The name of the column to filter on.

    • or.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • or.value nullable String

      The value to compare the column to.

    • or.and nullable array of Filter

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

    • or.or nullable array of Filter

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

HttpBasicAuthSettings

The HTTP Basic authentication settings.

Fields

  • username non-null String

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

  • password non-null String

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

HttpConnectionSettings

The HTTP Data Source connection settings.

Fields

  • basicAuth nullable HttpBasicAuthSettings

    The HTTP Basic authentication settings for uploading new data.

    If this parameter is not provided, anyone with the URL to your tables will be able to upload data. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

    The HTTP Basic authentication settings.

    • basicAuth.username non-null String

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

    • basicAuth.password non-null String

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

  • tables non-null array of HttpDataSourceTable

    The HTTP Data Source's tables.

    An HTTP Data Source's table.

HttpDataSourceColumn

A column in an HTTP Data Source's table.

Fields

  • name non-null String

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

  • type non-null ColumnType

    The column type.

    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.

  • nullable non-null Boolean

    Whether the column's type is nullable or not.

HttpDataSourceTable

An HTTP Data Source's table.

Fields

  • id non-null ID

    The ID of the table

  • name non-null String

    The name of the table

  • columns non-null array of HttpDataSourceColumn

    All the columns present in the table

    A column in an HTTP Data Source's table.

    • columns.name non-null String

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

    • columns.type non-null ColumnType

      The column type.

      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.

    • columns.nullable non-null Boolean

      Whether the column's type is nullable or not.

InternalConnectionSettings

Fields

KafkaConnectionSettings

The Kafka Data Source connection settings.

Fields

  • auth non-null String

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

  • bootstrapServers non-null array of String

    The bootstrap server(s) to connect to

  • password non-null String

    The password for the provided user

  • tls nullable Boolean

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

  • user non-null String

    The user for authenticating against the Kafka servers

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.

Fields

  • headers non-null array of String

    The table headers. It contains the Dimension and Metric names.

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

  • query non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • query.id non-null ID

      The Query's unique identifier.

    • query.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • query.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • query.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • query.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • query.bytesProcessed non-null String

      The bytes processed by the Query.

    • query.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • query.recordsProcessed non-null String

      The number of records processed by the Query.

    • query.resultingBytes non-null Int

      The bytes returned by the Query.

    • query.resultingRecords non-null Int

      The number of records returned by the Query.

    • query.propeller nullable Propeller

      The Propeller used for this query.

      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

    • query.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • query.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • query.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

MaterializedView

Fields

  • id non-null ID

    The Materialized View's unique identifier.

  • uniqueName non-null String

    The Materialized View's unique name.

  • description non-null String

    The Materialized View's description.

  • account non-null Account

    The Materialized View's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Materialized View'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 Materialized View's creation date and time in UTC.

  • modifiedAt non-null DateTime

    The Materialized View's last modification date and time in UTC.

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

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

  • sql non-null String

    The SQL that the Materialized View executes.

  • destination non-null DataPool

    The Materialized View's destination (AKA "target") Data Pool.

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

    Learn more about Data Pools.

    • destination.id non-null ID

      The Data Pool's unique identifier.

    • destination.uniqueName non-null String

      The Data Pool's unique name.

    • destination.description non-null String

      The Data Pool's description.

    • destination.account non-null Account

      The Data Pool's Account.

    • destination.environment non-null Environment

      The Data Pool's Environment.

    • destination.createdAt non-null DateTime

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

    • destination.modifiedAt non-null DateTime

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

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

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

    • destination.dataSource non-null DataSource

      The Data Pool's Data Source.

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

    • destination.dataRetentionInDays non-null Int

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

    • destination.table non-null String

      The name of the Data Pool's table.

    • destination.timestamp nullable Timestamp

      The Data Pool's primary timestamp column, if any.

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

    • destination.recordCount nullable String

      The number of records in the Data Pool.

    • destination.sizeInTerabytes nullable Float

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

    • destination.columns nullable DataPoolColumnConnection

      The Data Pool's columns.

    • destination.availableMeasures nullable DataPoolColumnConnection

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

    • destination.setupTasks nullable array of DataPoolSetupTask

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

    • destination.syncing non-null DataPoolSyncing

      Settings related to Data Pool syncing.

    • destination.syncs nullable SyncConnection

      The list of Syncs of the Data Pool.

      • destination.syncs.first optional Int

      • destination.syncs.after optional String

      • destination.syncs.last optional Int

      • destination.syncs.before optional String

    • destination.metrics nullable MetricConnection

      The list of Metrics powered by the Data Pool.

    • destination.deletionJobs nullable DeletionJobConnection

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

    • destination.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

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

    • destination.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

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

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

    • destination.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

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

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

    • destination.tableSettings nullable TableSettings

      The Data Pool's table settings.

    • destination.partitionByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PARTITION BY clause.

    • destination.primaryKeyColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PRIMARY KEY clause.

    • destination.orderByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its ORDER BY clause.

  • source non-null DataPool

    The Materialized View's source Data Pool.

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

    Learn more about Data Pools.

    • source.id non-null ID

      The Data Pool's unique identifier.

    • source.uniqueName non-null String

      The Data Pool's unique name.

    • source.description non-null String

      The Data Pool's description.

    • source.account non-null Account

      The Data Pool's Account.

    • source.environment non-null Environment

      The Data Pool's Environment.

    • source.createdAt non-null DateTime

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

    • source.modifiedAt non-null DateTime

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

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

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

    • source.dataSource non-null DataSource

      The Data Pool's Data Source.

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

    • source.dataRetentionInDays non-null Int

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

    • source.table non-null String

      The name of the Data Pool's table.

    • source.timestamp nullable Timestamp

      The Data Pool's primary timestamp column, if any.

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

    • source.recordCount nullable String

      The number of records in the Data Pool.

    • source.sizeInTerabytes nullable Float

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

    • source.columns nullable DataPoolColumnConnection

      The Data Pool's columns.

    • source.availableMeasures nullable DataPoolColumnConnection

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

    • source.setupTasks nullable array of DataPoolSetupTask

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

    • source.syncing non-null DataPoolSyncing

      Settings related to Data Pool syncing.

    • source.syncs nullable SyncConnection

      The list of Syncs of the Data Pool.

      • source.syncs.first optional Int

      • source.syncs.after optional String

      • source.syncs.last optional Int

      • source.syncs.before optional String

    • source.metrics nullable MetricConnection

      The list of Metrics powered by the Data Pool.

    • source.deletionJobs nullable DeletionJobConnection

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

    • source.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

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

    • source.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

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

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

    • source.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

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

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

    • source.tableSettings nullable TableSettings

      The Data Pool's table settings.

    • source.partitionByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PARTITION BY clause.

    • source.primaryKeyColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PRIMARY KEY clause.

    • source.orderByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its ORDER BY clause.

  • others non-null array of DataPool

    Other Data Pools queried by the Materialized View.

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

    Learn more about Data Pools.

    • others.id non-null ID

      The Data Pool's unique identifier.

    • others.uniqueName non-null String

      The Data Pool's unique name.

    • others.description non-null String

      The Data Pool's description.

    • others.account non-null Account

      The Data Pool's Account.

    • others.environment non-null Environment

      The Data Pool's Environment.

    • others.createdAt non-null DateTime

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

    • others.modifiedAt non-null DateTime

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

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

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

    • others.dataSource non-null DataSource

      The Data Pool's Data Source.

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

    • others.dataRetentionInDays non-null Int

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

    • others.table non-null String

      The name of the Data Pool's table.

    • others.timestamp nullable Timestamp

      The Data Pool's primary timestamp column, if any.

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

    • others.recordCount nullable String

      The number of records in the Data Pool.

    • others.sizeInTerabytes nullable Float

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

    • others.columns nullable DataPoolColumnConnection

      The Data Pool's columns.

    • others.availableMeasures nullable DataPoolColumnConnection

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

    • others.setupTasks nullable array of DataPoolSetupTask

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

    • others.syncing non-null DataPoolSyncing

      Settings related to Data Pool syncing.

    • others.syncs nullable SyncConnection

      The list of Syncs of the Data Pool.

      • others.syncs.first optional Int

      • others.syncs.after optional String

      • others.syncs.last optional Int

      • others.syncs.before optional String

    • others.metrics nullable MetricConnection

      The list of Metrics powered by the Data Pool.

    • others.deletionJobs nullable DeletionJobConnection

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

    • others.addColumnToDataPoolJobs nullable AddColumnToDataPoolJobConnection

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

    • others.updateDataPoolRecordsJobs nullable UpdateDataPoolRecordsJobConnection

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

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

    • others.dataPoolAccessPolicies non-null DataPoolAccessPolicyConnection

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

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

    • others.tableSettings nullable TableSettings

      The Data Pool's table settings.

    • others.partitionByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PARTITION BY clause.

    • others.primaryKeyColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its PRIMARY KEY clause.

    • others.orderByColumns nullable array of DataPoolColumn

      The Data Pool's columns that participate in its ORDER BY clause.

MaxMetricSettings

Settings for Max Metrics.

Fields

  • filters nullable array of Filter

    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the filters property on the timeSeriesInput, counterInput, or leaderboardInput objects. There is no need to add filters to be able to filter at query time.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • measure non-null Dimension

    The Dimension to select the maximum from.

    The Dimension object that represents a column in a table.

    • measure.columnName non-null String

      The column name it represents.

    • measure.type non-null String

      The column data type.

    • measure.isNullable nullable Boolean

      Whether the column is nullable.

MergeTreeTableEngine

Parameters for the MergeTree table engine.

Fields

  • type non-null TableEngineType

    The type is always MERGE_TREE.

    ClickHouse table engine types.

    • MERGE_TREE

      The MergeTree table engine.

    • REPLACING_MERGE_TREE

      The ReplacingMergeTree table engine.

    • SUMMING_MERGE_TREE

      The SummingMergeTree table engine.

Metric

The Metric object.

A Metric is a business indicator measured over time.

Learn more about Metrics.

Fields

  • id non-null ID

    The Metric's unique identifier.

  • uniqueName non-null String

    The Metric's unique name.

  • description non-null String

    The Metric's description.

  • account non-null Account

    The Metric's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Metric'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 Metric's creation date and time in UTC.

  • modifiedAt non-null DateTime

    The Metric's last modification date and time in UTC.

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

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

  • dataPool nullable DataPool

    The Data Pool that powers this Metric.

    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.

  • dimensions non-null array of Dimension

    The Metric's Dimensions. These Dimensions are available to Query Filters.

    The Dimension object that represents a column in a table.

    • dimensions.columnName non-null String

      The column name it represents.

    • dimensions.type non-null String

      The column data type.

    • dimensions.isNullable nullable Boolean

      Whether the column is nullable.

  • timestamp nullable Dimension

    The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

    The Dimension object that represents a column in a table.

    • timestamp.columnName non-null String

      The column name it represents.

    • timestamp.type non-null String

      The column data type.

    • timestamp.isNullable nullable Boolean

      Whether the column is nullable.

  • boosters non-null BoosterConnection

    List the Boosters associated to the Metric.

    The Booster connection object.

    Learn more about pagination in GraphQL.

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

  • settings non-null MetricSettings

    The settings for the Metric. The settings are specific to the Metric's type.


MetricConnection

The Metric connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of MetricEdge

    The Metric connection's edges.

    The Metric edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of Metric

    The Metric connection's nodes.

    The Metric object.

    A Metric is a business indicator measured over time.

    Learn more about Metrics.

    • nodes.id non-null ID

      The Metric's unique identifier.

    • nodes.uniqueName non-null String

      The Metric's unique name.

    • nodes.description non-null String

      The Metric's description.

    • nodes.account non-null Account

      The Metric's Account.

    • nodes.environment non-null Environment

      The Metric's Environment.

    • nodes.createdAt non-null DateTime

      The Metric's creation date and time in UTC.

    • nodes.modifiedAt non-null DateTime

      The Metric's last modification date and time in UTC.

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

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

    • nodes.dataPool nullable DataPool

      The Data Pool that powers this Metric.

    • nodes.dimensions non-null array of Dimension

      The Metric's Dimensions. These Dimensions are available to Query Filters.

    • nodes.timestamp nullable Dimension

      The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

    • nodes.boosters non-null BoosterConnection

      List the Boosters associated to the Metric.

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

    • nodes.settings non-null MetricSettings

      The settings for the Metric. The settings are specific to the Metric's type.


  • pageInfo non-null PageInfo

    The Metric connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

MetricEdge

The Metric edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null Metric

    The edge's node.

    The Metric object.

    A Metric is a business indicator measured over time.

    Learn more about Metrics.

    • node.id non-null ID

      The Metric's unique identifier.

    • node.uniqueName non-null String

      The Metric's unique name.

    • node.description non-null String

      The Metric's description.

    • node.account non-null Account

      The Metric's Account.

    • node.environment non-null Environment

      The Metric's Environment.

    • node.createdAt non-null DateTime

      The Metric's creation date and time in UTC.

    • node.modifiedAt non-null DateTime

      The Metric's last modification date and time in UTC.

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

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

    • node.dataPool nullable DataPool

      The Data Pool that powers this Metric.

    • node.dimensions non-null array of Dimension

      The Metric's Dimensions. These Dimensions are available to Query Filters.

    • node.timestamp nullable Dimension

      The Metric's timestamp, if any. This is the same as its Data Pool's timestamp, if any.

    • node.boosters non-null BoosterConnection

      List the Boosters associated to the Metric.

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

    • node.settings non-null MetricSettings

      The settings for the Metric. The settings are specific to the Metric's type.


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.

Fields

  • pageInfo non-null PageInfo

    The report connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

  • edges non-null array of MetricReportEdge

    The report connection's edges.

    The Metric Report edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of MetricReportNode

    The report connection's nodes.

    The Metric Report node object.

    This type represents a single row of a report.

    Learn more about pagination in GraphQL.

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

    • nodes.row non-null array of String

      An ordered array of columns. Each column contains the dimension and Metric values for a single row, as defined in the report input. Use this to display a single row within your table.

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

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

  • query non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • query.id non-null ID

      The Query's unique identifier.

    • query.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • query.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • query.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • query.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • query.bytesProcessed non-null String

      The bytes processed by the Query.

    • query.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • query.recordsProcessed non-null String

      The number of records processed by the Query.

    • query.resultingBytes non-null Int

      The bytes returned by the Query.

    • query.resultingRecords non-null Int

      The number of records returned by the Query.

    • query.propeller nullable Propeller

      The Propeller used for this query.

      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

    • query.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • query.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • query.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

MetricReportEdge

The Metric Report edge object.

Learn more about pagination in GraphQL.

Fields

  • node non-null MetricReportNode

    The edge's node.

    The Metric Report node object.

    This type represents a single row of a report.

    Learn more about pagination in GraphQL.

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

    • node.row non-null array of String

      An ordered array of columns. Each column contains the dimension and Metric values for a single row, as defined in the report input. Use this to display a single row within your table.

  • cursor non-null String

    The edge's cursor.

MetricReportNode

The Metric Report node object.

This type represents a single row of a report.

Learn more about pagination in GraphQL.

Fields

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

  • row non-null array of String

    An ordered array of columns. Each column contains the dimension and Metric values for a single row, as defined in the report input. Use this to display a single row within your table.

MetricResponse

The result of a mutation which creates or modifies a Metric.

Fields

  • metric nullable Metric

    The Metric which was created or modified.

    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.


MinMetricSettings

Settings for Min Metrics.

Fields

  • filters nullable array of Filter

    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the filters property on the timeSeriesInput, counterInput, or leaderboardInput objects. There is no need to add filters to be able to filter at query time.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • measure non-null Dimension

    The Dimension to select the minimum from.

    The Dimension object that represents a column in a table.

    • measure.columnName non-null String

      The column name it represents.

    • measure.type non-null String

      The column data type.

    • measure.isNullable nullable Boolean

      Whether the column is nullable.

PageInfo

The page info object used for pagination.

Fields

  • startCursor nullable String

    Points to the first item returned in the results. Used when paginating backward.

  • endCursor nullable String

    Points to the last item returned in the results. Used when paginating forward.

  • hasNextPage non-null Boolean

    A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

  • hasPreviousPage non-null Boolean

    A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

Policy

The Policy type. It governs an Application's access to a Metric's data.

Fields

  • id non-null ID

    The Policy's unique identifier.

  • account non-null Account

    The Policy's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    The Policy'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 Policy's creation date and time in UTC.

  • modifiedAt non-null DateTime

    The Policy's last modification date and time in UTC.

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

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

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

  • application non-null Application

    The Application that is granted access.

    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.

  • metric non-null Metric

    The Metric that the Application is granted access to.

    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.


PolicyConnection

The Policy connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of PolicyEdge

    The Policy connection's edges.

    The Policy edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of Policy

    The Policy connection's nodes.

    The Policy type. It governs an Application's access to a Metric's data.

    • nodes.id non-null ID

      The Policy's unique identifier.

    • nodes.account non-null Account

      The Policy's Account.

    • nodes.environment non-null Environment

      The Policy's Environment.

    • nodes.createdAt non-null DateTime

      The Policy's creation date and time in UTC.

    • nodes.modifiedAt non-null DateTime

      The Policy's last modification date and time in UTC.

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

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

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

    • nodes.application non-null Application

      The Application that is granted access.

    • nodes.metric non-null Metric

      The Metric that the Application is granted access to.

  • pageInfo non-null PageInfo

    The Policy connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

PolicyEdge

The Policy edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null Policy

    The edge's node.

    The Policy type. It governs an Application's access to a Metric's data.

    • node.id non-null ID

      The Policy's unique identifier.

    • node.account non-null Account

      The Policy's Account.

    • node.environment non-null Environment

      The Policy's Environment.

    • node.createdAt non-null DateTime

      The Policy's creation date and time in UTC.

    • node.modifiedAt non-null DateTime

      The Policy's last modification date and time in UTC.

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

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

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

    • node.application non-null Application

      The Application that is granted access.

    • node.metric non-null Metric

      The Metric that the Application is granted access to.

PolicyResponse

The result of a mutation which creates or modifies a Policy.

Fields

  • policy nullable Policy

    The Policy which was created or modified.

    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.

QueryInfo

The Query Info object. It contains metadata and statistics about a Query performed.

Fields

  • id non-null ID

    The Query's unique identifier.

  • createdAt non-null DateTime

    The date and time in UTC when the Query was created.

  • createdBy non-null String

    The unique identifier of the actor that performed the Query.

  • modifiedAt non-null DateTime

    The date and time in UTC when the Query was last modified.

  • modifiedBy non-null String

    The unique identifier of the actor that modified the Query.

  • bytesProcessed non-null String

    The bytes processed by the Query.

  • durationInMilliseconds non-null Int

    The duration of the Query in milliseconds.

  • recordsProcessed non-null String

    The number of records processed by the Query.

  • resultingBytes non-null Int

    The bytes returned by the Query.

  • resultingRecords non-null Int

    The number of records returned by the Query.

  • propeller nullable Propeller

    The Propeller used for this query.

    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

  • status non-null QueryStatus

    The Query status.

    The Query status.

    • COMPLETED

      The Query was completed succesfully.

    • ERROR

      The Query experienced an error.

    • TIMED_OUT

      The Query timed out.

  • type non-null QueryType

    The Query type.

    The Query type.

    • METRIC

      Indicates a Metric Query.

    • STATS

      Indicates a Dimension Stats Query.

    • REPORT

      Indicates a Report Query.

    • RECORDS

      Indicates a Record Table Query.

    • RECORDS_BY_UNIQUE_ID

      Indicates records queried by unique ID.

    • SELECT

      Indicates a SelectV1 Query.

    • SQL

      Indicates a SQL Query.

    • TOP_VALUES

      Indicates a Top Values Query.

  • subtype nullable QuerySubtype

    The Query subtype.

    The Query subtype.

    • COUNTER

      Indicates a Metric counter Query.

    • TIME_SERIES

      Indicates a Metric time series Query.

    • LEADERBOARD

      Indicates a Metric leaderboard Query.

RecordsByUniqueIdResponse

Fields

  • columns non-null array of String

    The Data Pool columns for the record.

  • values non-null array of String

    An array of values for the record.

  • query non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • query.id non-null ID

      The Query's unique identifier.

    • query.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • query.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • query.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • query.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • query.bytesProcessed non-null String

      The bytes processed by the Query.

    • query.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • query.recordsProcessed non-null String

      The number of records processed by the Query.

    • query.resultingBytes non-null Int

      The bytes returned by the Query.

    • query.resultingRecords non-null Int

      The number of records returned by the Query.

    • query.propeller nullable Propeller

      The Propeller used for this query.

      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

    • query.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • query.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • query.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

ReplacingMergeTreeTableEngine

Parameters for the ReplacingMergeTree table engine.

Fields

  • type non-null TableEngineType

    The type is always REPLACING_MERGE_TREE.

    ClickHouse table engine types.

    • MERGE_TREE

      The MergeTree table engine.

    • REPLACING_MERGE_TREE

      The ReplacingMergeTree table engine.

    • SUMMING_MERGE_TREE

      The SummingMergeTree table engine.

  • ver nullable String

    The ver parameter to the ReplacingMergeTree engine.

RequestDeleteResponse

The response returned by the Deletion Job.

Fields

  • job non-null DeletionJob

    The Deletion Job that was just created.

    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.

    • job.id non-null ID

      The Deletion Job's ID.

    • job.createdAt non-null DateTime

      The Deletion Job's creation date and time in UTC.

    • job.createdBy non-null String

      Who created the Deletion Job.

    • job.modifiedAt non-null DateTime

      The Deletion Job's last modification date and time in UTC.

    • job.modifiedBy non-null String

      Who last modified the Deletion Job.

    • job.account non-null Account

      Account to which the Deletion Job belongs.

    • job.environment non-null Environment

      Environment to which the Deletion Job belongs.

    • job.dataPool non-null DataPool

      The Data Pool whose records will be deleted by the Deletion Job.

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

    • job.filters non-null array of Filter

      The list of filters that will be used for deleting data. Data matching the filters will be deleted.

    • job.error nullable Error

      The error that occurred while deleting data, if any.

    • job.progress non-null Float

      The current progress of the Deletion Job, from 0.0 to 1.0.

    • job.startedAt nullable DateTime

      The time at which the Deletion Job started.

    • job.succeededAt nullable DateTime

      The time at which the Deletion Job succeeded.

    • job.failedAt nullable DateTime

      The time at which the Deletion Job failed.

S3ConnectionSettings

The connection settings for an S3 Data Source. These include the S3 bucket name, the AWS access key ID, and the tables (along with their paths). We do not allow fetching the AWS secret access key after it has been set.

Fields

  • awsAccessKeyId non-null String

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

  • bucket non-null String

    The name of the S3 bucket.

  • tables non-null array of S3DataSourceTable

    The S3 Data Source's tables.

    An S3 Data Source's table.

S3DataSourceColumn

A column in an S3 Data Source's table.

Fields

  • name non-null String

    The column name.

  • type non-null ColumnType

    The column type.

    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.

  • nullable non-null Boolean

    Whether the column's type is nullable or not.

S3DataSourceTable

An S3 Data Source's table.

Fields

  • id non-null ID

    The ID of the table

  • name non-null String

    The name of the table

  • path nullable String

    The path to the table's files in S3.

  • columns non-null array of S3DataSourceColumn

    All the columns present in the table

    A column in an S3 Data Source's table.

    • columns.name non-null String

      The column name.

    • columns.type non-null ColumnType

      The column type.

      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.

    • columns.nullable non-null Boolean

      Whether the column's type is nullable or not.

SnowflakeConnectionSettings

The Snowflake Data Source connection settings.

Fields

  • account non-null String

    The Snowflake account. This is the part before the "snowflakecomputing.com" part of your Snowflake URL.

  • database non-null String

    The Snowflake database name.

  • warehouse non-null String

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

  • schema non-null String

    The Snowflake schema.

  • username non-null String

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

  • role non-null String

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

SqlColumnResponse

Fields

  • columnName non-null String

    The name of the returned column.

  • type non-null ColumnType

    The returned column's type.

    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.

  • isNullable non-null Boolean

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

SqlResponse

Response from the SQL API.

Fields

  • columns non-null array of SqlColumnResponse

    The column names in the same order as present in the data field.

    • columns.columnName non-null String

      The name of the returned column.

    • columns.type non-null ColumnType

      The returned column's type.

      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.

    • columns.isNullable non-null Boolean

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

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

  • info non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • info.id non-null ID

      The Query's unique identifier.

    • info.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • info.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • info.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • info.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • info.bytesProcessed non-null String

      The bytes processed by the Query.

    • info.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • info.recordsProcessed non-null String

      The number of records processed by the Query.

    • info.resultingBytes non-null Int

      The bytes returned by the Query.

    • info.resultingRecords non-null Int

      The number of records returned by the Query.

    • info.propeller nullable Propeller

      The Propeller used for this query.

      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

    • info.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • info.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • info.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

SumMetricSettings

Settings for Sum Metrics.

Fields

  • filters nullable array of Filter

    Metric Filters allow defining a Metric with a subset of records from the given Data Pool. If no Metric Filters are present, all records will be included. To filter at query time, add Dimensions and use the filters property on the timeSeriesInput, counterInput, or leaderboardInput objects. There is no need to add filters to be able to filter at query time.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • measure non-null Dimension

    The Dimension to be summed.

    The Dimension object that represents a column in a table.

    • measure.columnName non-null String

      The column name it represents.

    • measure.type non-null String

      The column data type.

    • measure.isNullable nullable Boolean

      Whether the column is nullable.

SummingMergeTreeTableEngine

Parameters for the SummingMergeTree table engine.

Fields

  • type non-null TableEngineType

    The type is always SUMMING_MERGE_TREE.

    ClickHouse table engine types.

    • MERGE_TREE

      The MergeTree table engine.

    • REPLACING_MERGE_TREE

      The ReplacingMergeTree table engine.

    • SUMMING_MERGE_TREE

      The SummingMergeTree table engine.

  • columns nullable array of String

    The columns argument for the SummingMergeTree table engine

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.

Fields

  • id non-null ID

    The Sync's unique identifier.

  • account nullable Account

    The Sync's Account.

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment nullable Environment

    The Sync'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 Sync's creation date and time in UTC.

  • modifiedAt non-null DateTime

    The Sync's last modification date and time in UTC.

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

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

  • dataPool nullable DataPool

    The Sync's Data Pool.

    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.

  • dataSource nullable DataSource

    The Sync's 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.

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

  • processedRecords nullable String

    The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.

  • size nullable String

    The (compressed) size of the Sync, in bytes, if known.

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

  • startedAt nullable DateTime

    The time at which the Sync started.

  • succeededAt nullable DateTime

    The time at which the Sync succeeded.

  • failedAt nullable DateTime

    The time at which the Sync failed.

  • error nullable Error

    If the Sync failed, this represents the reason the Sync failed.

    The error object.

SyncConnection

The Sync connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of SyncEdge

    The Sync connection's edges.

    The Sync edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of Sync

    The Sync connection's nodes.

    The Sync object.

    This represents the process of syncing data from your Data Source (for example, a Snowflake data warehouse) to your Data Pool.

    • nodes.id non-null ID

      The Sync's unique identifier.

    • nodes.account nullable Account

      The Sync's Account.

    • nodes.environment nullable Environment

      The Sync's Environment.

    • nodes.createdAt non-null DateTime

      The Sync's creation date and time in UTC.

    • nodes.modifiedAt non-null DateTime

      The Sync's last modification date and time in UTC.

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

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

    • nodes.dataPool nullable DataPool

      The Sync's Data Pool.

    • nodes.dataSource nullable DataSource

      The Sync's Data Pool's Data Source.

    • nodes.processedRecords nullable String

      The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.

    • nodes.size nullable String

      The (compressed) size of the Sync, in bytes, if known.

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

    • nodes.startedAt nullable DateTime

      The time at which the Sync started.

    • nodes.succeededAt nullable DateTime

      The time at which the Sync succeeded.

    • nodes.failedAt nullable DateTime

      The time at which the Sync failed.

    • nodes.error nullable Error

      If the Sync failed, this represents the reason the Sync failed.

  • pageInfo non-null PageInfo

    The Sync connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

SyncEdge

The Sync edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null Sync

    The edge's node.

    The Sync object.

    This represents the process of syncing data from your Data Source (for example, a Snowflake data warehouse) to your Data Pool.

    • node.id non-null ID

      The Sync's unique identifier.

    • node.account nullable Account

      The Sync's Account.

    • node.environment nullable Environment

      The Sync's Environment.

    • node.createdAt non-null DateTime

      The Sync's creation date and time in UTC.

    • node.modifiedAt non-null DateTime

      The Sync's last modification date and time in UTC.

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

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

    • node.dataPool nullable DataPool

      The Sync's Data Pool.

    • node.dataSource nullable DataSource

      The Sync's Data Pool's Data Source.

    • node.processedRecords nullable String

      The number of new, updated, and deleted records contained within the Sync, if known. This excludes filtered records.

    • node.size nullable String

      The (compressed) size of the Sync, in bytes, if known.

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

    • node.startedAt nullable DateTime

      The time at which the Sync started.

    • node.succeededAt nullable DateTime

      The time at which the Sync succeeded.

    • node.failedAt nullable DateTime

      The time at which the Sync failed.

    • node.error nullable Error

      If the Sync failed, this represents the reason the Sync failed.

Table

The table object.

Once a table introspection succeeds, it creates a new table object for every table it introspected.

Fields

  • id non-null ID

    The table's ID.

  • name non-null String

    The table's name.

  • dataSource nullable DataSource

    The Data Source to which the table belongs.

    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.

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

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

  • cachedAt non-null DateTime

    The time at which the table was cached (i.e., the time at which it was introspected).

  • createdAt non-null DateTime

    The time at which the table was created. This is the same as its cachedAt time.

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

  • columns nullable ColumnConnection

    The table's columns.

    The column connection object.

    Learn more about pagination in GraphQL.

    • columns.cachedAt non-null DateTime

      The time at which the columns were cached (i.e., the time at which they were introspected).

    • columns.edges non-null array of ColumnEdge

      The column connection's edges.

    • columns.nodes non-null array of Column

      The column connection's nodes.

    • columns.pageInfo non-null PageInfo

      The column connection's page info.

  • availableTimestamps nullable ColumnConnection

    The table's columns which can be used as a timestamp for a Data Pool.

    The column connection object.

    Learn more about pagination in GraphQL.

  • availableMeasures nullable ColumnConnection

    The table's columns which can be used as a measure for a Metric.

    The column connection object.

    Learn more about pagination in GraphQL.

TableConnection

The table connection object.

Learn more about pagination in GraphQL.

Fields

  • cachedAt non-null DateTime

    The time at which the tables were cached (i.e., the time at which they were introspected).

  • edges non-null array of TableEdge

    The table connection's edges.

    The table edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of Table

    The table connection's nodes.

    The table object.

    Once a table introspection succeeds, it creates a new table object for every table it introspected.

    • nodes.id non-null ID

      The table's ID.

    • nodes.name non-null String

      The table's name.

    • nodes.dataSource nullable DataSource

      The Data Source to which the table belongs.

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

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

    • nodes.cachedAt non-null DateTime

      The time at which the table was cached (i.e., the time at which it was introspected).

    • nodes.createdAt non-null DateTime

      The time at which the table was created. This is the same as its cachedAt time.

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

    • nodes.columns nullable ColumnConnection

      The table's columns.

    • nodes.availableTimestamps nullable ColumnConnection

      The table's columns which can be used as a timestamp for a Data Pool.

    • nodes.availableMeasures nullable ColumnConnection

      The table's columns which can be used as a measure for a Metric.

  • pageInfo non-null PageInfo

    The table connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

TableEdge

The table edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null Table

    The edge's node.

    The table object.

    Once a table introspection succeeds, it creates a new table object for every table it introspected.

    • node.id non-null ID

      The table's ID.

    • node.name non-null String

      The table's name.

    • node.dataSource nullable DataSource

      The Data Source to which the table belongs.

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

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

    • node.cachedAt non-null DateTime

      The time at which the table was cached (i.e., the time at which it was introspected).

    • node.createdAt non-null DateTime

      The time at which the table was created. This is the same as its cachedAt time.

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

    • node.columns nullable ColumnConnection

      The table's columns.

    • node.availableTimestamps nullable ColumnConnection

      The table's columns which can be used as a timestamp for a Data Pool.

    • node.availableMeasures nullable ColumnConnection

      The table's columns which can be used as a measure for a Metric.

TableIntrospection

The table introspection object.

When setting up a Data Source, Propel may need to introspect tables in order to determine what tables and columns are available to create Data Pools from. The table introspection represents the lifecycle of this operation (whether it's in-progress, succeeded, or failed) and the resulting tables and columns. These will be captured as table and column objects, respectively.

Fields

  • dataSource non-null DataSource

    The Data Source the table introspection was performed for.

    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.

  • status non-null TableIntrospectionStatus

    The status of the table introspection.

    The status of a table introspection.

    • NOT_STARTED

      The table introspection has not started.

    • STARTED

      The table introspection has started.

    • SUCCEEDED

      The table introspection succeeded.

    • FAILED

      The table introspection failed.

  • createdAt non-null DateTime

    The table introspection's creation date and time in UTC.

  • createdBy non-null String

    The table introspection's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

  • modifiedAt non-null DateTime

    The table introspection's last modification date and time in UTC.

  • modifiedBy non-null String

    The table introspection's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

  • numTables nullable Int

    The number of tables introspected.

  • tables nullable TableConnection

    The tables introspected.

    The table connection object.

    Learn more about pagination in GraphQL.

    • tables.cachedAt non-null DateTime

      The time at which the tables were cached (i.e., the time at which they were introspected).

    • tables.edges non-null array of TableEdge

      The table connection's edges.

    • tables.nodes non-null array of Table

      The table connection's nodes.

    • tables.pageInfo non-null PageInfo

      The table connection's page info.

TableIntrospectionConnection

The table introspection connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of TableIntrospectionEdge

    The table introspection connection's edges.

    The table introspection edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of TableIntrospection

    The table introspection connection's nodes.

    The table introspection object.

    When setting up a Data Source, Propel may need to introspect tables in order to determine what tables and columns are available to create Data Pools from. The table introspection represents the lifecycle of this operation (whether it's in-progress, succeeded, or failed) and the resulting tables and columns. These will be captured as table and column objects, respectively.

    • nodes.dataSource non-null DataSource

      The Data Source the table introspection was performed for.

    • nodes.status non-null TableIntrospectionStatus

      The status of the table introspection.

      The status of a table introspection.

      • NOT_STARTED

        The table introspection has not started.

      • STARTED

        The table introspection has started.

      • SUCCEEDED

        The table introspection succeeded.

      • FAILED

        The table introspection failed.

    • nodes.createdAt non-null DateTime

      The table introspection's creation date and time in UTC.

    • nodes.createdBy non-null String

      The table introspection's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

    • nodes.modifiedAt non-null DateTime

      The table introspection's last modification date and time in UTC.

    • nodes.modifiedBy non-null String

      The table introspection's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

    • nodes.numTables nullable Int

      The number of tables introspected.

    • nodes.tables nullable TableConnection

      The tables introspected.

  • pageInfo non-null PageInfo

    The table introspection connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

TableIntrospectionEdge

The table introspection edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null TableIntrospection

    The edge's node.

    The table introspection object.

    When setting up a Data Source, Propel may need to introspect tables in order to determine what tables and columns are available to create Data Pools from. The table introspection represents the lifecycle of this operation (whether it's in-progress, succeeded, or failed) and the resulting tables and columns. These will be captured as table and column objects, respectively.

    • node.dataSource non-null DataSource

      The Data Source the table introspection was performed for.

    • node.status non-null TableIntrospectionStatus

      The status of the table introspection.

      The status of a table introspection.

      • NOT_STARTED

        The table introspection has not started.

      • STARTED

        The table introspection has started.

      • SUCCEEDED

        The table introspection succeeded.

      • FAILED

        The table introspection failed.

    • node.createdAt non-null DateTime

      The table introspection's creation date and time in UTC.

    • node.createdBy non-null String

      The table introspection's creator. It can be either a User ID, an Application ID, or "system" if it was created by Propel.

    • node.modifiedAt non-null DateTime

      The table introspection's last modification date and time in UTC.

    • node.modifiedBy non-null String

      The table introspection's last modifier. It can be either a User ID, an Application ID, or "system" if it was modified by Propel.

    • node.numTables nullable Int

      The number of tables introspected.

    • node.tables nullable TableConnection

      The tables introspected.

TableSettings

A Data Pool's table settings.

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

Fields

Tenant

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

Fields

  • columnName non-null String

    The name of the column that represents the tenant ID.

  • type non-null String

    The tenant ID column's type.

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.

Fields

  • labels non-null array of String

    The time series labels.

  • values non-null array of String

    The time series values.

  • query non-null QueryInfo

    The Query statistics and metadata.

    The Query Info object. It contains metadata and statistics about a Query performed.

    • query.id non-null ID

      The Query's unique identifier.

    • query.createdAt non-null DateTime

      The date and time in UTC when the Query was created.

    • query.createdBy non-null String

      The unique identifier of the actor that performed the Query.

    • query.modifiedAt non-null DateTime

      The date and time in UTC when the Query was last modified.

    • query.modifiedBy non-null String

      The unique identifier of the actor that modified the Query.

    • query.bytesProcessed non-null String

      The bytes processed by the Query.

    • query.durationInMilliseconds non-null Int

      The duration of the Query in milliseconds.

    • query.recordsProcessed non-null String

      The number of records processed by the Query.

    • query.resultingBytes non-null Int

      The bytes returned by the Query.

    • query.resultingRecords non-null Int

      The number of records returned by the Query.

    • query.propeller nullable Propeller

      The Propeller used for this query.

      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

    • query.status non-null QueryStatus

      The Query status.

      The Query status.

      • COMPLETED

        The Query was completed succesfully.

      • ERROR

        The Query experienced an error.

      • TIMED_OUT

        The Query timed out.

    • query.type non-null QueryType

      The Query type.

      The Query type.

      • METRIC

        Indicates a Metric Query.

      • STATS

        Indicates a Dimension Stats Query.

      • REPORT

        Indicates a Report Query.

      • RECORDS

        Indicates a Record Table Query.

      • RECORDS_BY_UNIQUE_ID

        Indicates records queried by unique ID.

      • SELECT

        Indicates a SelectV1 Query.

      • SQL

        Indicates a SQL Query.

      • TOP_VALUES

        Indicates a Top Values Query.

    • query.subtype nullable QuerySubtype

      The Query subtype.

      The Query subtype.

      • COUNTER

        Indicates a Metric counter Query.

      • TIME_SERIES

        Indicates a Metric time series Query.

      • LEADERBOARD

        Indicates a Metric leaderboard Query.

Timestamp

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.

Fields

  • columnName non-null String

    The name of the column that represents the primary timestamp.

  • type non-null String

    The primary timestamp column's type.

TopValuesResponse

Fields

  • values non-null array of String

    An array with the list of values.

UniqueId

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.

Fields

  • columnName non-null String

    The name of the column that represents the unique ID.

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.

Fields

  • id non-null ID

    The UpdateDataPoolRecords Job's ID

  • createdAt non-null DateTime

    The UpdateDataPoolRecords Job's creation date and time in UTC

  • createdBy non-null String

    Who created the UpdateDataPoolRecords Job

  • modifiedAt non-null DateTime

    The UpdateDataPoolRecords Job's last modification date and time in UTC

  • modifiedBy non-null String

    Who last modified the UpdateDataPoolRecords Job

  • account non-null Account

    Account to which the UpdateDataPoolRecords Job belongs

    The Account object.

    • account.id non-null ID

      The Account's unique identifier.

  • environment non-null Environment

    Environment to which the UpdateDataPoolRecords Job belongs

    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.

  • dataPool non-null DataPool

    The Data Pool whose records will be updated by the UpdateDataPoolRecords Job

    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.

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

  • filters non-null array of Filter

    The list of filters that will be used for updating data. Data matching the filters will be updated.

    The fields of a filter.

    You can construct more complex filters using and and or. For example, to construct a filter equivalent to

    (value > 0 AND value <= 100) OR status = "confirmed"
    

    you could write

    {
      "column": "value",
      "operator": "GREATER_THAN",
      "value": "0",
      "and": [{
        "column": "value",
        "operator": "LESS_THAN_OR_EQUAL_TO",
        "value": "0"
      }],
      "or": [{
        "column": "status",
        "operator": "EQUALS",
        "value": "confirmed"
      }]
    }
    

    Note that and takes precedence over or.

    • filters.column non-null String

      The name of the column to filter on.

    • filters.operator non-null FilterOperator

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

      The available Filter operators.

      • EQUALS

        Selects values that are equal to the specified value.

      • NOT_EQUALS

        Selects values that are not equal to the specified value.

      • GREATER_THAN

        Selects values that are greater than the specified value.

      • GREATER_THAN_OR_EQUAL_TO

        Selects values that are greater or equal to the specified value.

      • LESS_THAN

        Selects values that are less than the specified value.

      • LESS_THAN_OR_EQUAL_TO

        Selects values that are less or equal to the specified value.

      • IS_NULL

        Selects values that are null. This operator does not accept a value.

      • IS_NOT_NULL

        Selects values that are not null. This operator does not accept a value.

      • LIKE

        Selects values that match the specified pattern.

      • NOT_LIKE

        "Selects values that do not match the specified pattern.

    • filters.value nullable String

      The value to compare the column to.

    • filters.and nullable array of Filter

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

    • filters.or nullable array of Filter

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

  • set non-null array of UpdateDataPoolRecordsJobSetColumn

    Describes how the job will update the records.

    The fields for creating an Update Data Pool Records Job.

    {
    "column": "status",
    "expression": "'completed'"
    }
    
    {
    "column": "counter",
    "expression": "counter + 1"
    }
    
    {
    "column": "full_name",
    "expression": "concat(first_name, ' ', last_name)"
    }
    
    • set.column non-null String

      The name of the column to update.

    • set.expression non-null String

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

  • error nullable Error

    The error that occurred while updating data, if any.

    The error object.

  • progress non-null Float

    The current progress of the UpdateDataPoolRecords Job, from 0.0 to 1.0.

  • startedAt nullable DateTime

    The time at which the UpdateDataPoolRecords Job started.

  • succeededAt nullable DateTime

    The time at which the UpdateDataPoolRecords Job succeeded.

  • failedAt nullable DateTime

    The time at which the UpdateDataPoolRecords Job failed.

UpdateDataPoolRecordsJobConnection

The Update Data Pool records Job connection object.

Learn more about pagination in GraphQL.

Fields

  • edges non-null array of UpdateDataPoolRecordsJobEdge

    The Update Data Pool records Job connection's edges.

    The Update Data Pool records Job edge object.

    Learn more about pagination in GraphQL.

  • nodes non-null array of UpdateDataPoolRecordsJob

    The Update Data Pool records Job connection's nodes.

    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.

    • nodes.id non-null ID

      The UpdateDataPoolRecords Job's ID

    • nodes.createdAt non-null DateTime

      The UpdateDataPoolRecords Job's creation date and time in UTC

    • nodes.createdBy non-null String

      Who created the UpdateDataPoolRecords Job

    • nodes.modifiedAt non-null DateTime

      The UpdateDataPoolRecords Job's last modification date and time in UTC

    • nodes.modifiedBy non-null String

      Who last modified the UpdateDataPoolRecords Job

    • nodes.account non-null Account

      Account to which the UpdateDataPoolRecords Job belongs

    • nodes.environment non-null Environment

      Environment to which the UpdateDataPoolRecords Job belongs

    • nodes.dataPool non-null DataPool

      The Data Pool whose records will be updated by the UpdateDataPoolRecords Job

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

    • nodes.filters non-null array of Filter

      The list of filters that will be used for updating data. Data matching the filters will be updated.

    • nodes.set non-null array of UpdateDataPoolRecordsJobSetColumn

      Describes how the job will update the records.

    • nodes.error nullable Error

      The error that occurred while updating data, if any.

    • nodes.progress non-null Float

      The current progress of the UpdateDataPoolRecords Job, from 0.0 to 1.0.

    • nodes.startedAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job started.

    • nodes.succeededAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job succeeded.

    • nodes.failedAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job failed.

  • pageInfo non-null PageInfo

    The Update Data Pool records Job connection's page info.

    The page info object used for pagination.

    • pageInfo.startCursor nullable String

      Points to the first item returned in the results. Used when paginating backward.

    • pageInfo.endCursor nullable String

      Points to the last item returned in the results. Used when paginating forward.

    • pageInfo.hasNextPage non-null Boolean

      A boolean that indicates whether a next page of results exists. Can be used to display a "next page" button in user interfaces, for example.

    • pageInfo.hasPreviousPage non-null Boolean

      A boolean that indicates whether a previous page of results exists. Can be used to display a "previous page" button in user interfaces, for example.

UpdateDataPoolRecordsJobEdge

The Update Data Pool records Job edge object.

Learn more about pagination in GraphQL.

Fields

  • cursor non-null String

    The edge's cursor.

  • node non-null UpdateDataPoolRecordsJob

    The edge's node.

    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.

    • node.id non-null ID

      The UpdateDataPoolRecords Job's ID

    • node.createdAt non-null DateTime

      The UpdateDataPoolRecords Job's creation date and time in UTC

    • node.createdBy non-null String

      Who created the UpdateDataPoolRecords Job

    • node.modifiedAt non-null DateTime

      The UpdateDataPoolRecords Job's last modification date and time in UTC

    • node.modifiedBy non-null String

      Who last modified the UpdateDataPoolRecords Job

    • node.account non-null Account

      Account to which the UpdateDataPoolRecords Job belongs

    • node.environment non-null Environment

      Environment to which the UpdateDataPoolRecords Job belongs

    • node.dataPool non-null DataPool

      The Data Pool whose records will be updated by the UpdateDataPoolRecords Job

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

    • node.filters non-null array of Filter

      The list of filters that will be used for updating data. Data matching the filters will be updated.

    • node.set non-null array of UpdateDataPoolRecordsJobSetColumn

      Describes how the job will update the records.

    • node.error nullable Error

      The error that occurred while updating data, if any.

    • node.progress non-null Float

      The current progress of the UpdateDataPoolRecords Job, from 0.0 to 1.0.

    • node.startedAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job started.

    • node.succeededAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job succeeded.

    • node.failedAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job failed.

UpdateDataPoolRecordsJobResponse

The response returned by the Update Data Pool Records Job.

Fields

  • job non-null UpdateDataPoolRecordsJob

    The UpdateDataPoolRecords Job that was just created.

    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.

    • job.id non-null ID

      The UpdateDataPoolRecords Job's ID

    • job.createdAt non-null DateTime

      The UpdateDataPoolRecords Job's creation date and time in UTC

    • job.createdBy non-null String

      Who created the UpdateDataPoolRecords Job

    • job.modifiedAt non-null DateTime

      The UpdateDataPoolRecords Job's last modification date and time in UTC

    • job.modifiedBy non-null String

      Who last modified the UpdateDataPoolRecords Job

    • job.account non-null Account

      Account to which the UpdateDataPoolRecords Job belongs

    • job.environment non-null Environment

      Environment to which the UpdateDataPoolRecords Job belongs

    • job.dataPool non-null DataPool

      The Data Pool whose records will be updated by the UpdateDataPoolRecords Job

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

    • job.filters non-null array of Filter

      The list of filters that will be used for updating data. Data matching the filters will be updated.

    • job.set non-null array of UpdateDataPoolRecordsJobSetColumn

      Describes how the job will update the records.

    • job.error nullable Error

      The error that occurred while updating data, if any.

    • job.progress non-null Float

      The current progress of the UpdateDataPoolRecords Job, from 0.0 to 1.0.

    • job.startedAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job started.

    • job.succeededAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job succeeded.

    • job.failedAt nullable DateTime

      The time at which the UpdateDataPoolRecords Job failed.

UpdateDataPoolRecordsJobSetColumn

The fields for creating an Update Data Pool Records Job.

{
"column": "status",
"expression": "'completed'"
}

{
"column": "counter",
"expression": "counter + 1"
}

{
"column": "full_name",
"expression": "concat(first_name, ' ', last_name)"
}

Fields

  • column non-null String

    The name of the column to update.

  • expression non-null String

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

ValidateExpressionResult

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.

Fields

  • valid non-null Boolean

    True if the expression is valid, false otherwise.

  • reason nullable String

    The reason for why the expression is not valid in case it isn't, null otherwise.

WebhookConnectionSettings

The Webhook Data Source connection settings.

Fields

  • basicAuth nullable HttpBasicAuthSettings

    The HTTP basic authentication settings for the Webhook Data Source URL. If this parameter is not provided, anyone with the webhook URL will be able to send events. While it's OK to test without HTTP Basic authentication, we recommend enabling it.

    The HTTP Basic authentication settings.

    • basicAuth.username non-null String

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

    • basicAuth.password non-null String

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

  • columns nullable array of WebhookDataSourceColumn

    The additional columns for the Webhook Data Source table.

    A column in the Webhook Data Source's table.

    • columns.name non-null String

      The column name.

    • columns.jsonProperty non-null String

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

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

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

    • columns.type non-null ColumnType

      The column type.

      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.

    • columns.nullable non-null Boolean

      Whether the column's type is nullable or not.

  • tableSettings nullable TableSettings

    Override the Data Pool's table settings. These describe how the Data Pool's table is created in ClickHouse, and a default will be chosen based on the Data Pool's timestamp and uniqueId values, if any. You can override these defaults in order to specify a custom table engine, custom ORDER BY, etc.

    A Data Pool's table settings.

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

  • tenant nullable String

    The tenant ID column, if any.

  • timestamp nullable String

    The primary timestamp column, if any.

  • uniqueId nullable String

    The unique ID column, if any. Propel uses the primary timestamp and a unique ID to compose a primary key for determining whether records should be inserted, deleted, or updated.

  • webhookUrl non-null String

    The Webhook URL for posting JSON events

WebhookDataSourceColumn

A column in the Webhook Data Source's table.

Fields

  • name non-null String

    The column name.

  • jsonProperty non-null String

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

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

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

  • type non-null ColumnType

    The column type.

    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.

  • nullable non-null Boolean

    Whether the column's type is nullable or not.