Skip to main content

BotRunner

No description

type BotRunner implements Node {
encryptionStatus: EncryptionStatus!
id: ID!
public: Boolean!
deletedAt: Time
encryptionMode: BotRunnerEncryptionMode!
keyCustodyBackend: BotRunnerKeyCustodyBackend!
keyID: String
keyVersion: Int
algorithm: BotRunnerEncryptionAlgorithm!
encryptedAt: Time
name: String!
type: BotRunnerRunnerType!
config: Map
dataIsReady: Boolean!
dataLastUpdated: Time
dataDownloadStatus: BotRunnerDataDownloadStatus!
dataDownloadStartedAt: Time
dataErrorMessage: String
dataDownloadConfig: Map
backupGracePeriodSeconds: Int!
s3Config: Map
s3DataKey: String
s3DataUploadedAt: Time
ownerID: String!
billingEnabled: Boolean!
cpuPricePerCoreHour: Float
memoryPricePerGBHour: Float
networkPricePerGB: Float
storagePricePerGB: Float
createdAt: Time!
updatedAt: Time!
bots(
after: Cursor
first: Int
before: Cursor
last: Int
orderBy: [BotOrder!]
where: BotWhereInput
): BotConnection!
backtests(
after: Cursor
first: Int
before: Cursor
last: Int
orderBy: [BacktestOrder!]
where: BacktestWhereInput
): BacktestConnection!
hyperopts(
after: Cursor
first: Int
before: Cursor
last: Int
orderBy: [HyperoptOrder!]
where: HyperoptWhereInput
): HyperoptConnection!
legibleStatus: EntityStatus!
encryptionLocked: Boolean!
monitoring: RunnerMonitoring!
}

Fields

BotRunner.encryptionStatus ● EncryptionStatus! non-null object

BotRunner.id ● ID! non-null scalar

BotRunner.public ● Boolean! non-null scalar

Whether this resource is publicly visible to all authenticated users

BotRunner.deletedAt ● Time scalar

Soft-delete timestamp. If set, record is considered deleted.

BotRunner.encryptionMode ● BotRunnerEncryptionMode! non-null enum

Trust-ladder encryption mode for this row's sensitive fields. Set at create time; immutable after. Defaults to 'legacy_server' for all rows created before the trust ladder shipped.

BotRunner.keyCustodyBackend ● BotRunnerKeyCustodyBackend! non-null enum

KeyCustodyBackend implementation that produced the wrapping key. Pinned at write time alongside encryption_mode.

BotRunner.keyID ● String scalar

Opaque identifier of the wrapping key, backend-specific. Null for legacy_server rows that use the global process key.

BotRunner.keyVersion ● Int scalar

Rotation counter for the wrapping key. Null for legacy_server rows; populated when the row is rewrapped under a versioned key.

BotRunner.algorithm ● BotRunnerEncryptionAlgorithm! non-null enum

Symmetric algorithm protecting the row's sensitive fields. Stored alongside the ciphertext so future migrations can retire algorithms without re-encrypting existing rows.

BotRunner.encryptedAt ● Time scalar

Timestamp the row's sensitive fields were last encrypted with the current key_id/key_version. Null for legacy_server rows.

BotRunner.name ● String! non-null scalar

Runner display name

BotRunner.type ● BotRunnerRunnerType! non-null enum

Runner environment type (docker, kubernetes, local)

BotRunner.config ● Map scalar

Runner connection configuration (host, port, credentials, etc.)

BotRunner.dataIsReady ● Boolean! non-null scalar

Whether runner has downloaded historical data for backtesting

BotRunner.dataLastUpdated ● Time scalar

When data was last refreshed

BotRunner.dataDownloadStatus ● BotRunnerDataDownloadStatus! non-null enum

Current data download status (idle, downloading, completed, failed)

BotRunner.dataDownloadStartedAt ● Time scalar

When the current data download started (for stuck detection)

BotRunner.dataErrorMessage ● String scalar

Error message if data download failed

BotRunner.dataDownloadConfig ● Map scalar

Data download configuration: {exchanges: [{name, enabled, timeframes, pairs_pattern, days, trading_mode}]}

BotRunner.backupGracePeriodSeconds ● Int! non-null scalar

Seconds k8s waits for pod termination so a final backup can complete. Defaults to 60; bots with large DBs on slow networks may need more.

BotRunner.s3Config ● Map scalar

S3 config: {endpoint, bucket, accessKeyId, secretAccessKey, region, forcePathStyle, useSSL}

BotRunner.s3DataKey ● String scalar

S3 object key: runners/data/{runnerId}.zip

BotRunner.s3DataUploadedAt ● Time scalar

When data was last uploaded to S3

BotRunner.ownerID ● String! non-null scalar

Group ID (organization) that owns this bot runner

BotRunner.billingEnabled ● Boolean! non-null scalar

Whether usage tracking and billing is enabled for this runner

BotRunner.cpuPricePerCoreHour ● Float scalar

Price per core-hour in USD (only used if billing_enabled)

BotRunner.memoryPricePerGBHour ● Float scalar

Price per GB-hour in USD (only used if billing_enabled)

BotRunner.networkPricePerGB ● Float scalar

Price per GB of network transfer in USD (only used if billing_enabled)

BotRunner.storagePricePerGB ● Float scalar

Price per GB of disk I/O in USD (only used if billing_enabled)

BotRunner.createdAt ● Time! non-null scalar

BotRunner.updatedAt ● Time! non-null scalar

BotRunner.bots ● BotConnection! non-null object

BotRunner.bots.after ● Cursor scalar

Returns the elements in the list that come after the specified cursor.

BotRunner.bots.first ● Int scalar

Returns the first _n_ elements from the list.

BotRunner.bots.before ● Cursor scalar

Returns the elements in the list that come before the specified cursor.

BotRunner.bots.last ● Int scalar

Returns the last _n_ elements from the list.

BotRunner.bots.orderBy ● [BotOrder!] list input

Ordering options for Bots returned from the connection.

BotRunner.bots.where ● BotWhereInput input

Filtering options for Bots returned from the connection.

BotRunner.backtests ● BacktestConnection! non-null object

BotRunner.backtests.after ● Cursor scalar

Returns the elements in the list that come after the specified cursor.

BotRunner.backtests.first ● Int scalar

Returns the first _n_ elements from the list.

BotRunner.backtests.before ● Cursor scalar

Returns the elements in the list that come before the specified cursor.

BotRunner.backtests.last ● Int scalar

Returns the last _n_ elements from the list.

BotRunner.backtests.orderBy ● [BacktestOrder!] list input

Ordering options for Backtests returned from the connection.

BotRunner.backtests.where ● BacktestWhereInput input

Filtering options for Backtests returned from the connection.

BotRunner.hyperopts ● HyperoptConnection! non-null object

BotRunner.hyperopts.after ● Cursor scalar

Returns the elements in the list that come after the specified cursor.

BotRunner.hyperopts.first ● Int scalar

Returns the first _n_ elements from the list.

BotRunner.hyperopts.before ● Cursor scalar

Returns the elements in the list that come before the specified cursor.

BotRunner.hyperopts.last ● Int scalar

Returns the last _n_ elements from the list.

BotRunner.hyperopts.orderBy ● [HyperoptOrder!] list input

Ordering options for Hyperopts returned from the connection.

BotRunner.hyperopts.where ● HyperoptWhereInput input

Filtering options for Hyperopts returned from the connection.

BotRunner.legibleStatus ● EntityStatus! non-null object

BotRunner.encryptionLocked ● Boolean! non-null scalar

True when the runner's config has at least one passphrase-encrypted leaf that the current session could not decrypt. UI consumers must show an unlock overlay before rendering the connection form.

BotRunner.monitoring ● RunnerMonitoring! non-null object

Interfaces

Node interface

An object with an ID. Follows the Relay Global Object Identification Specification

Returned By

createBotRunner mutation ● createBotRunnerWithPassphrase mutation ● runnerChanged subscription ● runnerStatusChanged subscription ● setRunnerVisibility mutation ● updateBotRunner mutation ● updateBotRunnerConfigWithPassphrase mutation

Member Of

Backtest object ● Bot object ● BotRunnerEdge object ● Hyperopt object ● RefreshRunnerDataResult object ● ResourceUsageAggregation object ● ResourceUsageSample object