POST /api/eureka/idea-assistant/messages
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.
- stage is signal-predictor or execution-policy. History contains at most 12 messages; message is at most 4,000 characters. The current HTTP boundary does not accept runId; omit it even though the shared client type declares it.
- Protected writes require an allowed Origin, the CSRF cookie and matching X-CSRF-Token header.
Request
| Parameter | Location | Type and requirement |
|---|---|---|
x-idempotency-key | header | string · required Pattern: |
Origin | header | string · required An origin allowed by this deployment. |
X-CSRF-Token | header | string · required Must match the CSRF cookie issued to this browser. |
Body · application/json
stage required · "signal-predictor" | "execution-policy"message required · stringhistory required · array of objectView history model
Array items:
role required · "user" | "assistant"text required · stringdraft required · objectView draft model
compute optional · objectView compute model
tier required · "included" | "accelerated"vcpus required · numbermemoryGiB required · numbermaxHours required · numbermaxTwigs required · numberexperimentName optional · stringcandidateSourceRunId optional · stringcandidateTitle optional · stringexperimentKey required · "tp_sl_two_stage"templateKey required · "tp_sl_two_stage_nsga2_v1"cluster required · "dev"parameters required · objectView parameters model
dataProvider required · "alpaca"publishBenchmarkSymbol required · "SPY"objectivePreset required · "balanced" | "return_focus" | "risk_focus"workerCount required · numberstartDate required · null | stringView startDate model
Variant 1: null
null
Variant 2: string
string
endDate required · null | stringView endDate model
Variant 1: null
null
Variant 2: string
string
equitiesOnly required · booleanexcludeEtfs required · booleanexcludeIndiaEtfs required · booleanstageATrials required · numberstageA2Mode required · "disabled" | "auto"stageA2Trials required · numberstageAToA2Threshold required · numberstageA2HorizonBars required · numberstageA2LabelMinUpPct required · numberstageA2PredictorFeaturesCsv required · stringstageBTrials required · numberstageBExecutionTimeframe required · "1d" | "4h" | "1h"stageBMaxHoldingBars required · numberlookbackYears required · numbertrainMonths required · numbervalMonths required · numberstepMonths required · numberpurgeDays required · numberholdoutMonths required · numberholdoutStartDate optional · null | stringView holdoutStartDate model
Variant 1: null
null
Variant 2: string
string
horizonBars required · numberlabelMinUpPct required · numberstageAFeatureTimeframe required · "1d"predictorFeaturesCsv required · stringstageADecisionThreshold required · numberentryFilters optional · null | objectView entryFilters model
Variant 1: null
null
Variant 2: object
schema_version required · 1bar required · "1d"condition required · objectView condition model
Variant 1: object
op required · "cross_above" | "cross_below" | "gt" | "gte" | "lt" | "lte"left required · number | objectView left model
Variant 1: number
number
Variant 2: object
field required · "close" | "volume"Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberVariant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"right required · number | objectView right model
Variant 1: number
number
Variant 2: object
field required · "close" | "volume"Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberVariant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Variant 2: object
op required · "and" | "or"conditions required · array of objectView conditions model
Array items:
op required · "cross_above" | "cross_below" | "gt" | "gte" | "lt" | "lte"left required · number | objectView left model
Variant 1: number
number
Variant 2: object
field required · "close" | "volume"Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberVariant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"right required · number | objectView right model
Variant 1: number
number
Variant 2: object
field required · "close" | "volume"Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberVariant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"stageALearningRateMin required · numberstageALearningRateMax required · numberstageAL2Min required · numberstageAL2Max required · numberstageAEpochsMin required · numberstageAEpochsMax required · numberstageAPosWeightMin required · numberstageAPosWeightMax required · numbertpMin required · numbertpMax required · numberslMin required · numberslMax required · numberreserveCashPctMin required · numberreserveCashPctMax required · numberoptimizeProbThreshold required · booleanprobThresholdMin required · numberprobThresholdMax required · numberexecutionMode required · "notional" | "capital"executionBrokerId required · stringleverageMode required · "cash" | "reg_t"requestedLeverage required · 1 | 2marginInterestAnnualRatePct required · null | numberView marginInterestAnnualRatePct model
Variant 1: null
null
Variant 2: number
number
marginInterestDayCountBasis required · null | numberView marginInterestDayCountBasis model
Variant 1: null
null
Variant 2: number
number
marginInterestRateSource required · null | stringView marginInterestRateSource model
Variant 1: null
null
Variant 2: string
string
marginInterestBenchmarkId required · null | stringView marginInterestBenchmarkId model
Variant 1: null
null
Variant 2: string
string
marginInterestBenchmarkRatePct required · null | numberView marginInterestBenchmarkRatePct model
Variant 1: null
null
Variant 2: number
number
marginInterestBenchmarkRateSeries required · null | array of objectView marginInterestBenchmarkRateSeries model
Variant 1: null
null
Variant 2: array of object
Array items:
date required · stringrate_pct required · numbermarginInterestSpreadPct required · null | numberView marginInterestSpreadPct model
Variant 1: null
null
Variant 2: number
number
initialMarginRequirementPct required · null | numberView initialMarginRequirementPct model
Variant 1: null
null
Variant 2: number
number
maintenanceMarginRequirementPct required · null | numberView maintenanceMarginRequirementPct model
Variant 1: null
null
Variant 2: number
number
marketFeeProfile required · null | objectView marketFeeProfile model
Variant 1: null
null
Variant 2: object
Additional fields: JSON value.
initialCapital required · numberriskPerTradePct required · numbermaxPositionPctEquity required · numbermaxGrossExposurePctEquity required · numberallowFractionalShares required · booleanmaxTradesPerDay required · null | numberView maxTradesPerDay model
Variant 1: null
null
Variant 2: number
number
commissionBps required · numberslippageBps required · numberhalfSpreadBps required · numberborrowBpsPerBar required · numberminTrades required · numbermaxDrawdown required · numberdrawdownGateMetric required · "max_drawdown_p75" | "max_drawdown_stitched"maxSymbolConcentration required · numberminRiskAdjusted required · numbermaxTurnover required · null | numberView maxTurnover model
Variant 1: null
null
Variant 2: number
number
maxCvar95 required · null | numberView maxCvar95 model
Variant 1: null
null
Variant 2: number
number
lambdaReturn required · numberlambdaStability required · numberlambdaTail required · numberlambdaDrawdown required · numberlambdaConcentration required · numberlambdaTurnover required · numbernegativeRiskAdjustedPenalty required · numbersaveValidationTrades required · booleanstageASeedBase required · numberstageBSeedBase required · numberexecutionPlan required · objectView executionPlan model
mode required · "stage_a_only" | "stage_b_only" | "stage_a_to_b"stageASourceRunId required · null | stringView stageASourceRunId model
Variant 1: null
null
Variant 2: string
string
stageAStudyName optional · null | stringView stageAStudyName model
Variant 1: null
null
Variant 2: string
string
stageAComponent optional · null | objectView stageAComponent model
Variant 1: null
null
Variant 2: object
sourceKind required · "weavers_preset"componentType required · "stage_a" | "stage_b"componentKey required · stringVariant 3: object
sourceKind required · "notebook_component"componentType required · "stage_a" | "stage_b"componentKey required · stringstageBComponent optional · null | objectView stageBComponent model
Variant 1: null
null
Variant 2: object
sourceKind required · "weavers_preset"componentType required · "stage_a" | "stage_b"componentKey required · stringVariant 3: object
sourceKind required · "notebook_component"componentType required · "stage_a" | "stage_b"componentKey required · stringcanvas required · null | objectView canvas model
Variant 1: null
null
Variant 2: object
version required · 1nodes required · array of objectView nodes model
Array items:
id required · stringkind required · "stage_a_trainer" | "stage_b_entry_gate" | "stage_b_feasibility_gate" | "stage_b_optimizer"x required · numbery required · numberedges required · array of objectView edges model
Array items:
id required · stringsource required · stringtarget required · stringstageAUniverseSource optional · null | objectView stageAUniverseSource model
Variant 1: null
null
Variant 2: object
type required · "base"Variant 3: object
type required · "platform_niche"nicheId required · numbernicheKey required · stringVariant 4: object
type required · "ticker_pool"symbols required · array of stringView symbols model
Array items:
string
stageADataSelectors optional · null | objectView stageADataSelectors model
Variant 1: null
null
Variant 2: object
matchMode required · "all" | "any"selectors required · array of objectView selectors model
Array items:
Variant 1: object
type required · "channel"timeframe required · "1d" | "4h" | "1h"windowDays required · numberdirections required · array of "ascending" | "descending"View directions model
Array items:
"ascending" | "descending"
requireValid required · booleanalgoVersion optional · stringcharacteristics optional · objectView characteristics model
states optional · array of "new" | "continuing"View states model
Array items:
"new" | "continuing"
minR2 optional · numbermaxR2 optional · numberminBandPosition optional · numbermaxBandPosition optional · numberminBandWidthRatio optional · numbermaxBandWidthRatio optional · numberminNormalizedSlope optional · numbermaxNormalizedSlope optional · numberminConsecutiveRuns optional · numbermaxConsecutiveRuns optional · numbermissingDataPolicy required · "skip_and_log"Variant 2: object
type required · "regime"source required · "snapshot"regime required · "bull" | "bear" | "stable"minConfidence required · numbermissingDataPolicy required · "skip_and_log"seedConfig optional · null | objectView seedConfig model
Variant 1: null
null
Variant 2: object
sourceStrategyId required · stringsourceStrategyRegistryId required · numbersourceArtifactId required · numbersourceRunId required · null | stringView sourceRunId model
Variant 1: null
null
Variant 2: string
string
stageAConfig required · objectView stageAConfig model
Additional fields: JSON value.
finalExecutionConfig required · objectView finalExecutionConfig model
Additional fields: JSON value.
clientLaunch optional · null | objectView clientLaunch model
Variant 1: null
null
Variant 2: object
validationRevisionId optional · stringeurekaStrategyWorkspaceId optional · stringresearchQuestion optional · stringsubmittedAt required · stringtimezone required · null | stringView timezone model
Variant 1: null
null
Variant 2: string
string
localTimestamp required · stringnotebookStrategyRun optional · null | objectView notebookStrategyRun model
Variant 1: null
null
Variant 2: object
schema required · "weavers.notebook.strategy_run.v1"notebookKey required · stringnotebookSavedAt required · stringselectedCells required · array of objectView selectedCells model
Array items:
cellId required · stringsourceSha256 required · stringsourceBytes required · numbersourceUpdatedAt required · stringExample
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.
{
"stage": "signal-predictor",
"message": "Explain the current signal configuration.",
"history": [],
"draft": {
"experimentKey": "tp_sl_two_stage",
"templateKey": "tp_sl_two_stage_nsga2_v1",
"cluster": "dev",
"parameters": {
"dataProvider": "alpaca",
"publishBenchmarkSymbol": "SPY",
"objectivePreset": "balanced",
"workerCount": 6,
"startDate": "2022-08-01",
"endDate": "2026-02-18",
"equitiesOnly": true,
"excludeEtfs": true,
"excludeIndiaEtfs": true,
"stageATrials": 100,
"stageA2Mode": "disabled",
"stageA2Trials": 100,
"stageAToA2Threshold": 0.5,
"stageA2HorizonBars": 5,
"stageA2LabelMinUpPct": 0.01,
"stageA2PredictorFeaturesCsv": "source_stage_a_p_hat,intraday_return_1,intraday_range_pct,intraday_close_pos_session,session_progress",
"stageBTrials": 200,
"stageBExecutionTimeframe": "1d",
"stageBMaxHoldingBars": 5,
"lookbackYears": 3,
"trainMonths": 24,
"valMonths": 1,
"stepMonths": 1,
"purgeDays": 7,
"holdoutMonths": 6,
"holdoutStartDate": null,
"horizonBars": 5,
"labelMinUpPct": 0.01,
"stageAFeatureTimeframe": "1d",
"predictorFeaturesCsv": "gamma_atr_norm,atr_slope_14,atr_14,close_pos_20,macd_delta_ma,rsi_delta_ma,wavelet_curvature",
"stageADecisionThreshold": 0.5,
"entryFilters": null,
"stageALearningRateMin": 0.0001,
"stageALearningRateMax": 0.05,
"stageAL2Min": 1e-7,
"stageAL2Max": 0.1,
"stageAEpochsMin": 100,
"stageAEpochsMax": 1200,
"stageAPosWeightMin": 1,
"stageAPosWeightMax": 8,
"tpMin": 0.0005,
"tpMax": 0.08,
"slMin": 0.0003,
"slMax": 0.08,
"reserveCashPctMin": 0.2,
"reserveCashPctMax": 0.2,
"optimizeProbThreshold": true,
"probThresholdMin": 0.68,
"probThresholdMax": 0.75,
"executionMode": "capital",
"executionBrokerId": "none",
"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": 5000,
"riskPerTradePct": 0.02,
"maxPositionPctEquity": 0.05,
"maxGrossExposurePctEquity": 0.5,
"allowFractionalShares": true,
"maxTradesPerDay": null,
"commissionBps": 1,
"slippageBps": 2,
"halfSpreadBps": 0,
"borrowBpsPerBar": 0,
"minTrades": 30,
"maxDrawdown": 0.25,
"drawdownGateMetric": "max_drawdown_stitched",
"maxSymbolConcentration": 0.25,
"minRiskAdjusted": 0,
"maxTurnover": null,
"maxCvar95": null,
"lambdaReturn": 1,
"lambdaStability": 0.25,
"lambdaTail": 0.75,
"lambdaDrawdown": 1,
"lambdaConcentration": 0.5,
"lambdaTurnover": 0.1,
"negativeRiskAdjustedPenalty": 1,
"saveValidationTrades": false,
"stageASeedBase": 701,
"stageBSeedBase": 1701
},
"executionPlan": {
"mode": "stage_a_to_b",
"stageASourceRunId": null,
"stageAComponent": {
"sourceKind": "weavers_preset",
"componentType": "stage_a",
"componentKey": "weavers.tp_sl.stage_a.xgb.v1"
},
"stageBComponent": {
"sourceKind": "weavers_preset",
"componentType": "stage_b",
"componentKey": "weavers.tp_sl.stage_b.nsga2.v1"
},
"stageAUniverseSource": {
"type": "base"
},
"stageADataSelectors": null,
"canvas": {
"version": 1,
"nodes": [
{
"id": "stage-a",
"kind": "stage_a_trainer",
"x": 56,
"y": 84
},
{
"id": "stage-b-entry-gate",
"kind": "stage_b_entry_gate",
"x": 312,
"y": 84
},
{
"id": "stage-b-feasibility-gate",
"kind": "stage_b_feasibility_gate",
"x": 568,
"y": 84
},
{
"id": "stage-b",
"kind": "stage_b_optimizer",
"x": 824,
"y": 84
}
],
"edges": [
{
"id": "edge-stage-a-stage-b",
"source": "stage-a",
"target": "stage-b"
}
]
}
}
}
}curl --include \
--request POST \
'https://api.weavers.app/api/eureka/idea-assistant/messages' \
--cookie cookies.txt --cookie-jar cookies.txt \
--header 'x-idempotency-key: example-request-0001' \
--header 'Origin: https://weavers.app' \
--header "X-CSRF-Token: ${CSRF_TOKEN}" \
--header 'Content-Type: application/json' \
--data-binary @request.jsonResponses
200 · Successful response.
application/json
{
"kind": "propose",
"message": "Explain the data used in this research.",
"changes": [],
"facts": []
}View response model
kind required · "propose" | "clarify" | "unsupported" | "answer"message required · stringchanges required · array of objectView changes model
Array items:
Variant 1: object
controlId required · stringvalue required · null | string | number | false | trueView value model
Variant 1: null
null
Variant 2: string
string
Variant 3: number
number
Variant 4: false
false
Variant 5: true
true
reason required · stringok required · truelabel required · stringbefore required · null | string | number | false | trueView before model
Variant 1: null
null
Variant 2: string
string
Variant 3: number
number
Variant 4: false
false
Variant 5: true
true
after required · null | string | number | false | trueView after model
Variant 1: null
null
Variant 2: string
string
Variant 3: number
number
Variant 4: false
false
Variant 5: true
true
Additional fields: JSON values.
Variant 2: object
controlId required · stringvalue required · null | string | number | false | trueView value model
Variant 1: null
null
Variant 2: string
string
Variant 3: number
number
Variant 4: false
false
Variant 5: true
true
reason required · stringok required · falselabel required · null | stringView label model
Variant 1: null
null
Variant 2: string
string
error required · stringAdditional fields: JSON values.
facts required · array of objectView facts model
Array items:
key required · stringlabel required · stringvalue required · null | string | numberView value model
Variant 1: null
null
Variant 2: string
string
Variant 3: number
number
Additional fields: JSON values.
Additional fields: JSON values.
400 · Invalid request.
application/json
{
"error": "example",
"code": "example"
}View response model
Variant 1: object
error required · stringcode required · stringAdditional fields: JSON values.
401 · Authentication is missing or invalid.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
403 · Permission, origin or CSRF check failed.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
409 · Revision, state or idempotency conflict.
application/json
{
"error": "example",
"code": "example"
}View response model
error required · stringcode required · stringAdditional fields: JSON values.
429 · Rate limit reached; honor Retry-After when supplied.
application/json
{}View response model
Error envelopes can include resource-specific details. Check the status before reading these fields.
error optional · stringcode optional · stringmessage optional · stringAdditional fields: JSON values.
500 · Server failure.
application/json
{
"error": "example",
"code": "example"
}View response model
error required · stringcode required · stringAdditional fields: JSON values.
default · Operation-specific error. Inspect error/code before deciding whether to retry.
application/json
{
"error": "example",
"code": "example"
}View response model
error required · stringcode required · stringAdditional fields: JSON values.