Skip to main content

CreateStrategyInput

CreateStrategyInput is used for create Strategy object. Input was generated by ent.

input CreateStrategyInput {
public: Boolean
featured: Boolean
deletedAt: Time
encryptionMode: StrategyEncryptionMode
keyCustodyBackend: StrategyKeyCustodyBackend
keyID: String
keyVersion: Int
algorithm: StrategyEncryptionAlgorithm
encryptedAt: Time
name: String!
description: String
code: String
config: Map!
uiBuilderConfig: UIBuilderConfigInput
builderMode: StrategyStrategyBuilderMode
tradingMode: StrategyStrategyTradingMode
timeframe: String
stakeCurrency: String
positionMode: StrategyStrategyPositionMode
isLatest: Boolean
versionNumber: Int
ownerID: String!
createdAt: Time
updatedAt: Time
botIDs: [ID!]
backtestIDs: [ID!]
simulationIDs: [ID!]
hyperoptIDs: [ID!]
childIDs: [ID!]
parentID: ID
forkedFromID: ID
forkIDs: [ID!]
}

Fields

CreateStrategyInput.public ● Boolean scalar

Whether this resource is publicly visible to all authenticated users

Whether this resource is featured (appears at top of lists)

CreateStrategyInput.deletedAt ● Time scalar

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

CreateStrategyInput.encryptionMode ● StrategyEncryptionMode 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.

CreateStrategyInput.keyCustodyBackend ● StrategyKeyCustodyBackend enum

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

CreateStrategyInput.keyID ● String scalar

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

CreateStrategyInput.keyVersion ● Int scalar

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

CreateStrategyInput.algorithm ● StrategyEncryptionAlgorithm enum

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

CreateStrategyInput.encryptedAt ● Time scalar

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

CreateStrategyInput.name ● String! non-null scalar

Strategy name (not unique, allows versions)

CreateStrategyInput.description ● String scalar

Strategy description

CreateStrategyInput.code ● String scalar

Python strategy code (server-derived for ui builder_mode; required for code mode — enforced in the strategy domain, see ADR-0088)

CreateStrategyInput.config ● Map! non-null scalar

Strategy-specific configuration (config.json) - REQUIRED

CreateStrategyInput.uiBuilderConfig ● UIBuilderConfigInput input

UI builder configuration (indicators, conditions, callbacks) - only for builder_mode='ui'

CreateStrategyInput.builderMode ● StrategyStrategyBuilderMode enum

Strategy editing mode: 'ui' for UI builder (code generated from config), 'code' for direct Python editing

CreateStrategyInput.tradingMode ● StrategyStrategyTradingMode enum

Mirrored from config.trading_mode — normalized uppercase so it can be filtered/indexed

CreateStrategyInput.timeframe ● String scalar

Mirrored from config.timeframe (e.g. '1m', '5m', '1h') — default '5m'

CreateStrategyInput.stakeCurrency ● String scalar

Mirrored from config.stake_currency (e.g. 'USDT', 'BTC') — default 'USDT'

CreateStrategyInput.positionMode ● StrategyStrategyPositionMode enum

Mirrored from ui_builder_config.position_mode for UI strategies; defaults LONG_AND_SHORT for code strategies

CreateStrategyInput.isLatest ● Boolean scalar

Indicates if this is the latest version of the strategy

CreateStrategyInput.versionNumber ● Int scalar

Auto-incremented version number

CreateStrategyInput.ownerID ● String! non-null scalar

Group ID (organization) that owns this strategy

CreateStrategyInput.createdAt ● Time scalar

CreateStrategyInput.updatedAt ● Time scalar

CreateStrategyInput.botIDs ● [ID!] list scalar

CreateStrategyInput.backtestIDs ● [ID!] list scalar

CreateStrategyInput.simulationIDs ● [ID!] list scalar

CreateStrategyInput.hyperoptIDs ● [ID!] list scalar

CreateStrategyInput.childIDs ● [ID!] list scalar

CreateStrategyInput.parentID ● ID scalar

CreateStrategyInput.forkedFromID ● ID scalar

CreateStrategyInput.forkIDs ● [ID!] list scalar

Member Of

createStrategy mutation ● createStrategyWithPassphrase mutation