Skip to documentation
Weavers Docs

Pages and endpoints

Tab to navigate · Enter to openEsc to close

GET /api/eureka/experiment-drafts/:draftId

Account required · HTTP API reference

All endpoints · Authentication and retries · Download OpenAPI

  • Requires a signed-in account and permission to access this resource. Use identifiers returned by your own account's earlier requests.

Request

ParameterLocationType and requirement
draftIdpathstring · required

No request body.

Example

Examples use fictional data. Replace identifiers with resources you can access. For account requests, cookies.txt must contain your own session; set CSRF_TOKEN to the matching CSRF cookie value where required.

cURL (POSIX shell)
curl --include \
  --request GET \
  'https://api.weavers.app/api/eureka/experiment-drafts/11111111-1111-4111-8111-111111111111' \
  --cookie cookies.txt --cookie-jar cookies.txt

Responses

200 · Successful response.

application/json

200 example · synthetic data
{
  "draft": {
    "draftId": "11111111-1111-4111-8111-111111111111",
    "strategyId": "11111111-1111-4111-8111-111111111111",
    "name": "Example research",
    "revision": 1,
    "mode": "guided",
    "setupStep": 0,
    "createdAt": "2025-01-01T00:00:00.000Z",
    "updatedAt": "2025-01-01T00:00:00.000Z",
    "configuration": {
      "experimentKey": "tp_sl_two_stage",
      "templateKey": "tp_sl_two_stage_nsga2_v1",
      "cluster": "dev",
      "parameters": {
        "dataProvider": "alpaca",
        "publishBenchmarkSymbol": "SPY",
        "objectivePreset": "balanced",
        "workerCount": 1,
        "startDate": null,
        "endDate": null,
        "equitiesOnly": false,
        "excludeEtfs": false,
        "excludeIndiaEtfs": false,
        "stageATrials": 1,
        "stageA2Mode": "disabled",
        "stageA2Trials": 1,
        "stageAToA2Threshold": 1,
        "stageA2HorizonBars": 1,
        "stageA2LabelMinUpPct": 1,
        "stageA2PredictorFeaturesCsv": "example",
        "stageBTrials": 1,
        "stageBExecutionTimeframe": "1d",
        "stageBMaxHoldingBars": 1,
        "lookbackYears": 1,
        "trainMonths": 1,
        "valMonths": 1,
        "stepMonths": 1,
        "purgeDays": 1,
        "holdoutMonths": 1,
        "horizonBars": 1,
        "labelMinUpPct": 1,
        "stageAFeatureTimeframe": "1d",
        "predictorFeaturesCsv": "example",
        "stageADecisionThreshold": 1,
        "stageALearningRateMin": 1,
        "stageALearningRateMax": 1,
        "stageAL2Min": 1,
        "stageAL2Max": 1,
        "stageAEpochsMin": 1,
        "stageAEpochsMax": 1,
        "stageAPosWeightMin": 1,
        "stageAPosWeightMax": 1,
        "tpMin": 1,
        "tpMax": 1,
        "slMin": 1,
        "slMax": 1,
        "reserveCashPctMin": 1,
        "reserveCashPctMax": 1,
        "optimizeProbThreshold": false,
        "probThresholdMin": 1,
        "probThresholdMax": 1,
        "executionMode": "notional",
        "executionBrokerId": "1",
        "leverageMode": "cash",
        "requestedLeverage": 1,
        "marginInterestAnnualRatePct": null,
        "marginInterestDayCountBasis": null,
        "marginInterestRateSource": null,
        "marginInterestBenchmarkId": null,
        "marginInterestBenchmarkRatePct": null,
        "marginInterestBenchmarkRateSeries": null,
        "marginInterestSpreadPct": null,
        "initialMarginRequirementPct": null,
        "maintenanceMarginRequirementPct": null,
        "marketFeeProfile": null,
        "initialCapital": 1,
        "riskPerTradePct": 1,
        "maxPositionPctEquity": 1,
        "maxGrossExposurePctEquity": 1,
        "allowFractionalShares": false,
        "maxTradesPerDay": null,
        "commissionBps": 1,
        "slippageBps": 1,
        "halfSpreadBps": 1,
        "borrowBpsPerBar": 1,
        "minTrades": 1,
        "maxDrawdown": 1,
        "drawdownGateMetric": "max_drawdown_p75",
        "maxSymbolConcentration": 1,
        "minRiskAdjusted": 1,
        "maxTurnover": null,
        "maxCvar95": null,
        "lambdaReturn": 1,
        "lambdaStability": 1,
        "lambdaTail": 1,
        "lambdaDrawdown": 1,
        "lambdaConcentration": 1,
        "lambdaTurnover": 1,
        "negativeRiskAdjustedPenalty": 1,
        "saveValidationTrades": false,
        "stageASeedBase": 1,
        "stageBSeedBase": 1
      },
      "executionPlan": {
        "mode": "stage_a_only",
        "stageASourceRunId": null,
        "canvas": null
      }
    },
    "researchQuestion": "example"
  }
}
View response model
draft required · object
View draft model
Variant 1: object
draftId required · string
strategyId required · string
name required · string
revision required · number
mode required · "guided"
setupStep required · 0 | 1 | 3 | 2
createdAt required · string
updatedAt required · string
configuration required · object
View configuration model
compute optional · object
View compute model
tier required · "included" | "accelerated"
vcpus required · number
memoryGiB required · number
maxHours required · number
maxTwigs required · number

Additional fields: JSON values.

experimentName optional · string
candidateSourceRunId optional · string
candidateTitle optional · string
experimentKey required · "tp_sl_two_stage"
templateKey required · "tp_sl_two_stage_nsga2_v1"
cluster required · "dev"
parameters required · object
View parameters model
dataProvider required · "alpaca"
publishBenchmarkSymbol required · "SPY"
objectivePreset required · "balanced" | "return_focus" | "risk_focus"
workerCount required · number
startDate required · null | string
View startDate model
Variant 1: null

null

Variant 2: string

string

endDate required · null | string
View endDate model
Variant 1: null

null

Variant 2: string

string

equitiesOnly required · boolean
excludeEtfs required · boolean
excludeIndiaEtfs required · boolean
stageATrials required · number
stageA2Mode required · "disabled" | "auto"
stageA2Trials required · number
stageAToA2Threshold required · number
stageA2HorizonBars required · number
stageA2LabelMinUpPct required · number
stageA2PredictorFeaturesCsv required · string
stageBTrials required · number
stageBExecutionTimeframe required · "1d" | "4h" | "1h"
stageBMaxHoldingBars required · number
lookbackYears required · number
trainMonths required · number
valMonths required · number
stepMonths required · number
purgeDays required · number
holdoutMonths required · number
holdoutStartDate optional · null | string
View holdoutStartDate model
Variant 1: null

null

Variant 2: string

string

horizonBars required · number
labelMinUpPct required · number
stageAFeatureTimeframe required · "1d"
predictorFeaturesCsv required · string
stageADecisionThreshold required · number
entryFilters optional · null | object
View entryFilters model
Variant 1: null

null

Variant 2: object
schema_version required · 1
bar required · "1d"
condition required · object
View condition model
Variant 1: object
op required · "cross_above" | "cross_below" | "gt" | "gte" | "lt" | "lte"
left required · number | object
View left model
Variant 1: number

number

Variant 2: object
field required · "close" | "volume"

Additional fields: JSON values.

Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"
period required · number

Additional fields: JSON values.

Variant 4: object
indicator required · "macd"
fast required · number
slow required · number
signal required · number
component required · "line" | "signal" | "histogram"

Additional fields: JSON values.

right required · number | object
View right model
Variant 1: number

number

Variant 2: object
field required · "close" | "volume"

Additional fields: JSON values.

Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"
period required · number

Additional fields: JSON values.

Variant 4: object
indicator required · "macd"
fast required · number
slow required · number
signal required · number
component required · "line" | "signal" | "histogram"

Additional fields: JSON values.

Additional fields: JSON values.

Variant 2: object
op required · "and" | "or"
conditions required · array of object
View conditions model

Array items:

op required · "cross_above" | "cross_below" | "gt" | "gte" | "lt" | "lte"
left required · number | object
View left model
Variant 1: number

number

Variant 2: object
field required · "close" | "volume"

Additional fields: JSON values.

Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"
period required · number

Additional fields: JSON values.

Variant 4: object
indicator required · "macd"
fast required · number
slow required · number
signal required · number
component required · "line" | "signal" | "histogram"

Additional fields: JSON values.

right required · number | object
View right model
Variant 1: number

number

Variant 2: object
field required · "close" | "volume"

Additional fields: JSON values.

Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"
period required · number

Additional fields: JSON values.

Variant 4: object
indicator required · "macd"
fast required · number
slow required · number
signal required · number
component required · "line" | "signal" | "histogram"

Additional fields: JSON values.

Additional fields: JSON values.

Additional fields: JSON values.

Additional fields: JSON values.

stageALearningRateMin required · number
stageALearningRateMax required · number
stageAL2Min required · number
stageAL2Max required · number
stageAEpochsMin required · number
stageAEpochsMax required · number
stageAPosWeightMin required · number
stageAPosWeightMax required · number
tpMin required · number
tpMax required · number
slMin required · number
slMax required · number
reserveCashPctMin required · number
reserveCashPctMax required · number
optimizeProbThreshold required · boolean
probThresholdMin required · number
probThresholdMax required · number
executionMode required · "notional" | "capital"
executionBrokerId required · string
leverageMode required · "cash" | "reg_t"
requestedLeverage required · 1 | 2
marginInterestAnnualRatePct required · null | number
View marginInterestAnnualRatePct model
Variant 1: null

null

Variant 2: number

number

marginInterestDayCountBasis required · null | number
View marginInterestDayCountBasis model
Variant 1: null

null

Variant 2: number

number

marginInterestRateSource required · null | string
View marginInterestRateSource model
Variant 1: null

null

Variant 2: string

string

marginInterestBenchmarkId required · null | string
View marginInterestBenchmarkId model
Variant 1: null

null

Variant 2: string

string

marginInterestBenchmarkRatePct required · null | number
View marginInterestBenchmarkRatePct model
Variant 1: null

null

Variant 2: number

number

marginInterestBenchmarkRateSeries required · null | array of object
View marginInterestBenchmarkRateSeries model
Variant 1: null

null

Variant 2: array of object

Array items:

date required · string
rate_pct required · number

Additional fields: JSON values.

marginInterestSpreadPct required · null | number
View marginInterestSpreadPct model
Variant 1: null

null

Variant 2: number

number

initialMarginRequirementPct required · null | number
View initialMarginRequirementPct model
Variant 1: null

null

Variant 2: number

number

maintenanceMarginRequirementPct required · null | number
View maintenanceMarginRequirementPct model
Variant 1: null

null

Variant 2: number

number

marketFeeProfile required · null | object
View marketFeeProfile model
Variant 1: null

null

Variant 2: object

Additional fields: JSON value.

initialCapital required · number
riskPerTradePct required · number
maxPositionPctEquity required · number
maxGrossExposurePctEquity required · number
allowFractionalShares required · boolean
maxTradesPerDay required · null | number
View maxTradesPerDay model
Variant 1: null

null

Variant 2: number

number

commissionBps required · number
slippageBps required · number
halfSpreadBps required · number
borrowBpsPerBar required · number
minTrades required · number
maxDrawdown required · number
drawdownGateMetric required · "max_drawdown_p75" | "max_drawdown_stitched"
maxSymbolConcentration required · number
minRiskAdjusted required · number
maxTurnover required · null | number
View maxTurnover model
Variant 1: null

null

Variant 2: number

number

maxCvar95 required · null | number
View maxCvar95 model
Variant 1: null

null

Variant 2: number

number

lambdaReturn required · number
lambdaStability required · number
lambdaTail required · number
lambdaDrawdown required · number
lambdaConcentration required · number
lambdaTurnover required · number
negativeRiskAdjustedPenalty required · number
saveValidationTrades required · boolean
stageASeedBase required · number
stageBSeedBase required · number

Additional fields: JSON values.

executionPlan required · object
View executionPlan model
mode required · "stage_a_only" | "stage_b_only" | "stage_a_to_b"
stageASourceRunId required · null | string
View stageASourceRunId model
Variant 1: null

null

Variant 2: string

string

stageAStudyName optional · null | string
View stageAStudyName model
Variant 1: null

null

Variant 2: string

string

stageAComponent optional · null | object
View stageAComponent model
Variant 1: null

null

Variant 2: object
sourceKind required · "weavers_preset"
componentType required · "stage_a" | "stage_b"
componentKey required · string

Additional fields: JSON values.

Variant 3: object
sourceKind required · "notebook_component"
componentType required · "stage_a" | "stage_b"
componentKey required · string

Additional fields: JSON values.

stageBComponent optional · null | object
View stageBComponent model
Variant 1: null

null

Variant 2: object
sourceKind required · "weavers_preset"
componentType required · "stage_a" | "stage_b"
componentKey required · string

Additional fields: JSON values.

Variant 3: object
sourceKind required · "notebook_component"
componentType required · "stage_a" | "stage_b"
componentKey required · string

Additional fields: JSON values.

canvas required · null | object
View canvas model
Variant 1: null

null

Variant 2: object
version required · 1
nodes required · array of object
View nodes model

Array items:

id required · string
kind required · "stage_a_trainer" | "stage_b_entry_gate" | "stage_b_feasibility_gate" | "stage_b_optimizer"
x required · number
y required · number

Additional fields: JSON values.

edges required · array of object
View edges model

Array items:

id required · string
source required · string
target required · string

Additional fields: JSON values.

Additional fields: JSON values.

stageAUniverseSource optional · null | object
View stageAUniverseSource model
Variant 1: null

null

Variant 2: object
type required · "base"

Additional fields: JSON values.

Variant 3: object
type required · "platform_niche"
nicheId required · number
nicheKey required · string

Additional fields: JSON values.

Variant 4: object
type required · "ticker_pool"
symbols required · array of string
View symbols model

Array items:

string

Additional fields: JSON values.

stageADataSelectors optional · null | object
View stageADataSelectors model
Variant 1: null

null

Variant 2: object
matchMode required · "all" | "any"
selectors required · array of object
View selectors model

Array items:

Variant 1: object
type required · "channel"
timeframe required · "1d" | "4h" | "1h"
windowDays required · number
directions required · array of "ascending" | "descending"
View directions model

Array items:

"ascending" | "descending"

requireValid required · boolean
algoVersion optional · string
characteristics optional · object
View characteristics model
states optional · array of "new" | "continuing"
View states model

Array items:

"new" | "continuing"

minR2 optional · number
maxR2 optional · number
minBandPosition optional · number
maxBandPosition optional · number
minBandWidthRatio optional · number
maxBandWidthRatio optional · number
minNormalizedSlope optional · number
maxNormalizedSlope optional · number
minConsecutiveRuns optional · number
maxConsecutiveRuns optional · number

Additional fields: JSON values.

missingDataPolicy required · "skip_and_log"

Additional fields: JSON values.

Variant 2: object
type required · "regime"
source required · "snapshot"
regime required · "bull" | "bear" | "stable"
minConfidence required · number
missingDataPolicy required · "skip_and_log"

Additional fields: JSON values.

Additional fields: JSON values.

Additional fields: JSON values.

seedConfig optional · null | object
View seedConfig model
Variant 1: null

null

Variant 2: object
sourceStrategyId required · string
sourceStrategyRegistryId required · number
sourceArtifactId required · number
sourceRunId required · null | string
View sourceRunId model
Variant 1: null

null

Variant 2: string

string

stageAConfig required · object
View stageAConfig model

Additional fields: JSON value.

finalExecutionConfig required · object
View finalExecutionConfig model

Additional fields: JSON value.

Additional fields: JSON values.

clientLaunch optional · null | object
View clientLaunch model
Variant 1: null

null

Variant 2: object
validationRevisionId optional · string
eurekaStrategyWorkspaceId optional · string
researchQuestion optional · string
submittedAt required · string
timezone required · null | string
View timezone model
Variant 1: null

null

Variant 2: string

string

localTimestamp required · string
notebookStrategyRun optional · null | object
View notebookStrategyRun model
Variant 1: null

null

Variant 2: object
schema required · "weavers.notebook.strategy_run.v1"
notebookKey required · string
notebookSavedAt required · string
selectedCells required · array of object
View selectedCells model

Array items:

cellId required · string
sourceSha256 required · string
sourceBytes required · number
sourceUpdatedAt required · string

Additional fields: JSON values.

Additional fields: JSON values.

Additional fields: JSON values.

Additional fields: JSON values.

researchQuestion required · string

Additional fields: JSON values.

Variant 2: object
draftId required · string
strategyId required · string
name required · string
revision required · number
mode required · "python"
setupStep required · 0 | 1 | 3 | 2
createdAt required · string
updatedAt required · string
configuration required · object
View configuration model
mode required · "python"
contractVersion required · "weavers.python.candidate.v1"
sourceRevision required · null | number
View sourceRevision model
Variant 1: null

null

Variant 2: number

number

datasetVersionId required · null | string
View datasetVersionId model
Variant 1: null

null

Variant 2: string

string

parameterSchema required · array of object
View parameterSchema model

Array items:

name required · string
type required · "string" | "number" | "boolean" | "integer"
default required · string | number | false | true
View default model
Variant 1: string

string

Variant 2: number

number

Variant 3: false

false

Variant 4: true

true

minimum optional · number
maximum optional · number
options optional · array of string
View options model

Array items:

string

Additional fields: JSON values.

parameters required · object
View parameters model

Additional fields: string | number | false | true.

testSettings required · object
View testSettings model
startDate required · null | string
View startDate model
Variant 1: null

null

Variant 2: string

string

researchEndDate optional · null | string
View researchEndDate model
Variant 1: null

null

Variant 2: string

string

holdoutStartDate optional · null | string
View holdoutStartDate model
Variant 1: null

null

Variant 2: string

string

endDate required · null | string
View endDate model
Variant 1: null

null

Variant 2: string

string

initialCapital required · null | number
View initialCapital model
Variant 1: null

null

Variant 2: number

number

commissionBps required · null | number
View commissionBps model
Variant 1: null

null

Variant 2: number

number

slippageBps required · null | number
View slippageBps model
Variant 1: null

null

Variant 2: number

number

policySizingSource optional · "python"
maxPositionPctEquity optional · null | number
View maxPositionPctEquity model
Variant 1: null

null

Variant 2: number

number

maxGrossExposurePctEquity optional · null | number
View maxGrossExposurePctEquity model
Variant 1: null

null

Variant 2: number

number

benchmark required · null | string
View benchmark model
Variant 1: null

null

Variant 2: string

string

Additional fields: JSON values.

Additional fields: JSON values.

researchQuestion required · string

Additional fields: JSON values.

Additional fields: JSON values.

400 · Invalid request.

application/json

400 example · synthetic data
{}
View response model

Error envelopes can include resource-specific details. Check the status before reading these fields.

error optional · string
code optional · string
message optional · string

Additional fields: JSON values.

401 · Authentication is missing or invalid.

application/json

401 example · synthetic data
{}
View response model

Error envelopes can include resource-specific details. Check the status before reading these fields.

error optional · string
code optional · string
message optional · string

Additional fields: JSON values.

403 · Permission, origin or CSRF check failed.

application/json

403 example · synthetic data
{}
View response model

Error envelopes can include resource-specific details. Check the status before reading these fields.

error optional · string
code optional · string
message optional · string

Additional fields: JSON values.

429 · Rate limit reached; honor Retry-After when supplied.

application/json

429 example · synthetic data
{}
View response model

Error envelopes can include resource-specific details. Check the status before reading these fields.

error optional · string
code optional · string
message optional · string

Additional fields: JSON values.

500 · Server failure.

application/json

500 example · synthetic data
{
  "error": "example",
  "code": "example"
}
View response model
error required · string
code required · string
requestId optional · string

Additional fields: JSON values.

default · Operation-specific error. Inspect error/code before deciding whether to retry.

application/json

default example · synthetic data
{
  "error": "example",
  "code": "example"
}
View response model
validation optional · object
View validation model
field required · string
reason required · string

Additional fields: JSON values.

requestId optional · string
error required · string
code required · string

Additional fields: JSON values.