Skip to main content

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_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 non-null Dimension

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

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


    • metric.counter nullable CounterResponse

      The Metric data in counter format. A single metric value for the given time range and filters.

    • metric.timeSeries nullable TimeSeriesResponse

      The Metric data in time series format. Arrays of timestamps and Metric values for the given time range and filters.

    • metric.leaderboard nullable LeaderboardResponse

      The Metric data in leaderboard format. A table (array of rows) with the selected dimensions and corresponding Metric values for the given time range and filters.

    • metric.policies non-null PolicyConnection

      List the Policies associated to the Metric.

    • metric.accessControlEnabled non-null Boolean

      Whether or not access control is enabled for the Metric.