POST /api/eureka/rules/idea
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.
- Requires the enabled rule feature and a connected assistant account. Use 1–12 messages of at most 4,000 characters. The current rule version accepts a daily Alpaca niche dataset.
- Protected writes require an allowed Origin, the CSRF cookie and matching X-CSRF-Token header.
Request
| Parameter | Location | Type and requirement |
|---|---|---|
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
messages required · array of stringView messages model
Array items:
string
hypothesisId required · null | stringView hypothesisId model
Variant 1: null
null
Variant 2: string
string
expectedRevision required · numberenvelope required · objectView envelope model
spec required · objectView spec model
schema_version required · 1type required · "rule"side required · "long"bar required · "1d"entry required · objectView entry 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"exit required · objectView exit 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"stop_loss_pct required · null | numberView stop_loss_pct model
Variant 1: null
null
Variant 2: number
number
take_profit_pct required · null | numberView take_profit_pct model
Variant 1: null
null
Variant 2: number
number
sizing required · objectView sizing model
mode required · "equal_notional"position_pct required · numbermax_gross_pct required · numbersimultaneous required · "proportional"pyramiding required · falseborrowing required · falsedataset required · objectView dataset model
Variant 1: object
provider required · "alpaca" | "marketstack"startDate required · stringendDate required · stringtimeframe required · "1D" | "1H"nicheId required · numbernicheKey required · stringequitiesOnly required · booleanexcludeEtfs required · booleanexcludeIndiaEtfs required · booleanVariant 2: object
provider required · "alpaca" | "marketstack"startDate required · stringendDate required · stringtimeframe required · "1D" | "1H"source required · "catalog"country required · stringgeography required · "exposure" | "listing"instrumentType required · "other" | "stock" | "etf"theme optional · 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.
{
"messages": [
"Draft an entry when close crosses above SMA 20 and an exit when it crosses below SMA 20."
],
"hypothesisId": null,
"expectedRevision": 0,
"envelope": {
"spec": {
"schema_version": 1,
"type": "rule",
"side": "long",
"bar": "1d",
"entry": {
"op": "cross_above",
"left": {
"field": "close"
},
"right": {
"indicator": "sma",
"period": 20
}
},
"exit": {
"op": "cross_below",
"left": {
"field": "close"
},
"right": {
"indicator": "sma",
"period": 20
}
},
"stop_loss_pct": null,
"take_profit_pct": null
},
"sizing": {
"mode": "equal_notional",
"position_pct": 5,
"max_gross_pct": 50,
"simultaneous": "proportional",
"pyramiding": false,
"borrowing": false
},
"dataset": {
"provider": "alpaca",
"nicheId": 1,
"nicheKey": "example-niche",
"startDate": "2025-01-01",
"endDate": "2025-06-30",
"timeframe": "1D",
"equitiesOnly": true,
"excludeEtfs": true,
"excludeIndiaEtfs": true
}
}
}curl --include \
--request POST \
'https://api.weavers.app/api/eureka/rules/idea' \
--cookie cookies.txt --cookie-jar cookies.txt \
--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": "clarify",
"message": "Explain the data used in this research.",
"proposal": null
}View response model
kind required · "clarify" | "unsupported" | "draft"message required · stringproposal required · null | objectView proposal model
Variant 1: null
null
Variant 2: object
hypothesisId required · stringrevision required · numberhash required · stringstatus required · "not_confirmed"envelope required · objectView envelope model
spec required · objectView spec model
schema_version required · 1type required · "rule"side required · "long"bar required · "1d"entry required · objectView entry 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"Additional fields: JSON values.
Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
right required · number | objectView 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 · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
Additional fields: JSON values.
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"Additional fields: JSON values.
Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
right required · number | objectView 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 · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
Additional fields: JSON values.
Additional fields: JSON values.
exit required · objectView exit 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"Additional fields: JSON values.
Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
right required · number | objectView 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 · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
Additional fields: JSON values.
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"Additional fields: JSON values.
Variant 3: object
indicator required · "sma" | "ema" | "rsi" | "atr"period required · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
right required · number | objectView 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 · numberAdditional fields: JSON values.
Variant 4: object
indicator required · "macd"fast required · numberslow required · numbersignal required · numbercomponent required · "line" | "signal" | "histogram"Additional fields: JSON values.
Additional fields: JSON values.
Additional fields: JSON values.
stop_loss_pct required · null | numberView stop_loss_pct model
Variant 1: null
null
Variant 2: number
number
take_profit_pct required · null | numberView take_profit_pct model
Variant 1: null
null
Variant 2: number
number
Additional fields: JSON values.
sizing required · objectView sizing model
mode required · "equal_notional"position_pct required · numbermax_gross_pct required · numbersimultaneous required · "proportional"pyramiding required · falseborrowing required · falseAdditional fields: JSON values.
dataset required · objectView dataset model
Variant 1: object
provider required · "alpaca" | "marketstack"startDate required · stringendDate required · stringtimeframe required · "1D" | "1H"nicheId required · numbernicheKey required · stringequitiesOnly required · booleanexcludeEtfs required · booleanexcludeIndiaEtfs required · booleanAdditional fields: JSON values.
Variant 2: object
provider required · "alpaca" | "marketstack"startDate required · stringendDate required · stringtimeframe required · "1D" | "1H"source required · "catalog"country required · stringgeography required · "exposure" | "listing"instrumentType required · "other" | "stock" | "etf"theme optional · stringAdditional fields: JSON values.
Additional fields: JSON values.
readback required · objectView readback model
entry required · objectView entry model
match required · stringconditions required · array of objectView conditions model
Array items:
left required · stringoperator required · stringright required · stringAdditional fields: JSON values.
Additional fields: JSON values.
exit required · objectView exit model
match required · stringconditions required · array of objectView conditions model
Array items:
left required · stringoperator required · stringright required · stringAdditional fields: JSON values.
Additional fields: JSON values.
side required · stringbar required · stringexecution required · stringstopLossPct required · null | numberView stopLossPct model
Variant 1: null
null
Variant 2: number
number
takeProfitPct required · null | numberView takeProfitPct model
Variant 1: null
null
Variant 2: number
number
sizing required · objectView sizing model
mode required · "equal_notional"position_pct required · numbermax_gross_pct required · numbersimultaneous required · "proportional"pyramiding required · falseborrowing required · falseAdditional fields: JSON values.
searchTrials required · numberevaluatorVersion required · stringAdditional fields: JSON values.
Additional fields: JSON values.
Additional fields: JSON values.
400 · Invalid request.
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.
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
{
"code": "example"
}View response model
code 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
{}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.
502 · Dependency failure.
application/json
{
"code": "example",
"error": "example"
}View response model
code required · stringerror required · stringAdditional fields: JSON values.
default · Operation-specific error. Inspect error/code before deciding whether to retry.
application/json
{
"code": "example",
"error": "example"
}View response model
Variant 1: object
code required · stringerror required · stringAdditional fields: JSON values.