Skip to main content

Applications

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 that determines the speed and cost of your Metric Queries.

Each web or mobile app you build should have its own Propel Application. This way you can have separate API credentials for each app or workload and you can control the cost and speed of Metric Queries for each. You will also be able to see the query volume and spend for each Application.

Creating an Application

Applications must be created via the Propel Console. To create a new Application, follow these steps:

  1. Log into the Propel Console and navigate to the Applications section.

  2. Click on the "New Application" button.

  3. Enter a unique name and description for your new Application.

  4. Select the desired scopes, i.e. what the Application will be allowed to do.

  5. Select the Propeller size (P1_X_SMALL is a good default to start with. You can change it later if you need to).

  6. And click "Create Application".

An animated screen capture of how to create a Propel Application.

After you've created your Application, you can follow our step-by-step authentication guide to start making API requests with Propel.

Application properties

A Propel Application has the following properties: a pair of OAuth 2.0 client credentials, a list of scopes, and a Propeller.

OAuth 2.0 client credentials

The OAuth 2.0 client credentials consist of a client identifier and a secret used to request acces tokens that give you scoped access to the Propel API.

Scopes

Scopes control what an Application can or cannot do on your app’s behalf. When generating an access token for your app, you can choose one or more scopes to include.

Your app can request the following scopes:

ScopeDescription
adminThe Application has read and write access to Data Sources, Data Pools, and Metrics within its Environment.
metric:queryThe Application can query Metrics within its Environment.
metric:statsThe Application can query Metrics’ Dimension Statistics within its Environment.

Example 1: Generating an access token with only the “metric:query” and “metric:stats” scopes

This example uses curl to generate an access token with only the “metric:query” and “metric:stats” scopes. By doing so, we can ensure the generated access token can only query Metrics and Dimension Statistics. It will not be able to create new Data Sources, delete Metrics, or perform any other admin operations.

curl https://auth.us-east-2.propeldata.com/oauth2/token \
-d grant_type=client_credentials \
-d client_id=$APPLICATION_ID \
-d client_secret=$APPLICATION_SECRET \
-d 'scope=metric:query metric:stats'

Propeller

The Propeller is 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.

The table below describes the different Propellers, their capacity, and their price. The Propeller’s price is determined by the maximum number of records it can process per second.

PropellerMax records processed per secondPrice per processed GB
P1_X_SMALL1,000,000$0.01 / GB
P1_SMALL10,000,000$0.05 / GB
P1_MEDIUM100,000,000$0.10 / GB
P1_LARGE250,000,000$0.15 / GB
P1_X_LARGE500,000,000$0.25 / GB

Read How to choose the right Propeller to learn the rules of thumb for choosing the optimal speed and cost for your app.

API Reference

Below are all the APIs that relate to Applications.

Objects

Queries

Mutations

Applications cannot be created, modified or deleted via the API.

Enums

Inputs

Since Applications cannot be created, modified or deleted via the API, there are no related inputs.