FailureResponse

The failure response object.

error
Error
required

The error that caused the failure.

Error

The error object.

code
Int

The error code.

message
String
required

The error message.

Account

The Account object.

id
ID
required

The Account’s unique identifier.

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.

id
ID
required

The Environment’s unique identifier.

uniqueName
String

The Environment’s unique name.

description
String

The Environment’s description.

createdAt
DateTime

The Environment’s creation date and time in UTC.

modifiedAt
DateTime

The Environment’s last modification date and time in UTC.

createdBy
String

The Environment’s creator. It can be either a User ID, an Environment ID, or “system” if it was created by Propel.

modifiedBy
String

The Environment’s last modifier. It can be either a User ID, an Environment ID, or “system” if it was modified by Propel.

account
Account

The Environment’s Account.

EnvironmentResponse

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

environment
Environment

The Environment which was created or modified.

PageInfo

The page info object used for pagination.

startCursor
String

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

endCursor
String

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

hasNextPage
Boolean
required

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
Boolean
required

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.

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.

id
ID
required

The Application’s unique identifier.

uniqueName
String
required

The Application’s unique name.

description
String
required

The Application’s description.

account
Account
required

The Application’s Account.

environment
Environment
required

The Application’s Environment.

createdAt
DateTime
required

The Application’s creation date and time in UTC.

modifiedAt
DateTime
required

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

createdBy
String
required

The Application’s creator. It can be either a User ID, an Application ID, or “system” if it was created by Propel.

modifiedBy
String
required

The Application’s last modifier. It can be either a User ID, an Application ID, or “system” if it was modified by Propel.

clientId
String
required

The Application’s OAuth 2.0 client identifier.

secret
String

The Application’s OAuth 2.0 client secret.

propeller
Propeller
required

The Application’s Propeller.

scopes
[ApplicationScope!]
required

The Application’s OAuth 2.0 scopes.

dataPoolAccessPolicies
DataPoolAccessPolicyConnection
required

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

Arguments

first
Int
after
String
last
Int
before
String

See DataPoolAccessPolicyConnection

ApplicationResponse

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

application
Application

The Application which was created or modified.

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.

id
ID
required

The Data Source’s unique identifier.

uniqueName
String
required

The Data Source’s unique name.

description
String
required

The Data Source’s description.

account
Account
required

The Data Source’s Account.

environment
Environment
required

The Data Source’s Environment.

createdAt
DateTime
required

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

modifiedAt
DateTime
required

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

createdBy
String
required

The Data Source’s creator. It can be either a User ID, an Application ID, or “system” if it was created by Propel.

modifiedBy
String
required

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
DataSourceType
required

The Data Source’s type.

status
DataSourceStatus
required

The Data Source’s status.

connectionSettings
ConnectionSettings
required

The Data Source’s connection settings.

tables
TableConnection

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

Arguments

first
Int
after
String
last
Int
before
String

See TableConnection

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

Arguments

first
Int
after
String
last
Int
before
String

See TableIntrospectionConnection

checks
[DataSourceCheck!]

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

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

Arguments

first
Int
after
String
last
Int
before
String

See DataPoolConnection

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.

name
String
required

The name of the Data Source Check to be performed.

description
String

A description of the Data Source Check to be performed.

status
DataSourceCheckStatus
required

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

error
Error

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

checkedAt
DateTime

The time at which the Data Source Check was performed.

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.

dataSource
DataSource
required

The Data Source the table introspection was performed for. See DataSource

status
TableIntrospectionStatus
required

The status of the table introspection.

createdAt
DateTime
required

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

createdBy
String
required

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

modifiedAt
DateTime
required

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

modifiedBy
String
required

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
Int

The number of tables introspected.

tables
TableConnection

The tables introspected.

Arguments

first
Int
after
String
last
Int
before
String

See TableConnection

Table

The table object.

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

id
ID
required

The table’s ID.

name
String
required

The table’s name.

dataSource
DataSource

The Data Source to which the table belongs. See DataSource

rows
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
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
DateTime
required

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

createdAt
DateTime
required

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

createdBy
String
required

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
ColumnConnection

The table’s columns.

Arguments

first
Int
after
String
last
Int
before
String
availableTimestamps
ColumnConnection

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

Arguments

first
Int
after
String
last
Int
before
String
availableMeasures
ColumnConnection

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

Arguments

first
Int
after
String
last
Int
before
String

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.

name
String
required

The column’s name.

type
String
required

The column’s type.

isNullable
Boolean

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

cachedAt
DateTime
required

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

createdAt
DateTime
required

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

createdBy
String
required

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

supportedDataPoolColumnTypes
[ColumnType!]
required

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.

InternalConnectionSettings

_
Boolean

SnowflakeConnectionSettings

The Snowflake Data Source connection settings.

account
String
required

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

database
String
required

The Snowflake database name.

warehouse
String
required

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

schema
String
required

The Snowflake schema.

username
String
required

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

role
String
required

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

HttpBasicAuthSettings

The HTTP Basic authentication settings.

username
String
required

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

password
String
required

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

HttpDataSourceTable

An HTTP Data Source’s table.

id
ID
required

The ID of the table

name
String
required

The name of the table

columns
[HttpDataSourceColumn!]
required

All the columns present in the table

HttpDataSourceColumn

A column in an HTTP Data Source’s table.

name
String
required

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

type
ColumnType
required

The column type.

clickHouseType
String

The ClickHouse type to use when type is set to CLICKHOUSE.

nullable
Boolean
required

Whether the column’s type is nullable or not.

S3DataSourceTable

An Amazon S3 Data Source’s table.

id
ID
required

The ID of the table

name
String
required

The name of the table

path
String

The path to the table’s files in Amazon S3.

columns
[S3DataSourceColumn!]
required

All the columns present in the table

S3DataSourceColumn

A column in an Amazon S3 Data Source’s table.

name
String
required

The column name.

type
ColumnType
required

The column type.

nullable
Boolean
required

Whether the column’s type is nullable or not.

AmazonDataFirehoseDataSourceColumn

A column in an Amazon Data Firehose Data Source’s table.

name
String
required

The column name.

jsonProperty
String
required

The JSON property that the column will be derived from. For example, if you send 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
ColumnType
required

The column type.

nullable
Boolean
required

Whether the column’s type is nullable or not.

AmazonDynamoDBDataSourceColumn

A column in an Amazon DynamoDB Data Source’s table.

name
String
required

The column name.

jsonProperty
String
required

The JSON property that the column will be derived from. For example, if you send 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
ColumnType
required

The column type.

nullable
Boolean
required

Whether the column’s type is nullable or not.

TwilioSegmentDataSourceColumn

A column in a Twilio Segment Data Source’s table.

name
String
required

The column name.

jsonProperty
String
required

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
ColumnType
required

The column type.

nullable
Boolean
required

Whether the column’s type is nullable or not.

WebhookDataSourceColumn

A column in a Webhook Data Source’s table.

name
String
required

The column name.

jsonProperty
String
required

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
ColumnType
required

The column type.

nullable
Boolean
required

Whether the column’s type is nullable or not.

DataSourceResponse

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

dataSource
DataSource

The Data Source which was created or modified.

DataPool

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

id
ID
required

The Data Pool’s unique identifier.

uniqueName
String
required

The Data Pool’s unique name.