POST /api/eureka/notebooks/:notebookKey/executions
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.
- Save the notebook before submitting. Compute notebookRevision as the lowercase SHA-256 of UTF-8 JSON.stringify({notebookKey,cells}), where cells is the ordered array of {id,sourceSha256,sourceUpdatedAt} for executed cells. Hash each exact UTF-8 source for sourceSha256 and count its UTF-8 bytes for sourceBytes. Use the current saved cell timestamps and owned strategy/data reference. 202 creates a job; 200 returns an idempotent replay. Poll GET /api/eureka/notebooks/executions/{jobId}; completion is separate from applying an output.
- Protected writes require an allowed Origin, the CSRF cookie and matching X-CSRF-Token header.
Request
| Parameter | Location | Type and requirement |
|---|---|---|
notebookKey | path | string · required |
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
notebookKey required · stringnotebookRevision required · stringtargetCellId required · stringmode required · "all" | "through_cell"cells required · array of objectView cells model
Array items:
cellId required · stringsource required · stringsourceSha256 required · stringsourceBytes required · numbersourceUpdatedAt required · stringdataReference required · objectView dataReference model
strategyId required · stringstrategyRevision required · numbersymbols required · array of stringView symbols model
Array items:
string
scope optional · "full" | "sample"provider required · "alpaca"startDate required · stringendDate required · stringtimeframe required · "1D" | "1H" | "4H"resourceLimits optional · objectView resourceLimits model
timeoutSeconds optional · numberoutputMaxBytes optional · numberbackend required · "local" | "local_docker" | "local_gpu" | "remote_kubernetes"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.
{
"notebookKey": "strategy-11111111-1111-4111-8111-111111111111",
"notebookRevision": "dd87fe56811ca3d21fc726e0189fd3ec1063263aa5f3f37135fc30bf58479721",
"targetCellId": "example-cell",
"mode": "through_cell",
"cells": [
{
"cellId": "example-cell",
"source": "print('Research example')\n",
"sourceSha256": "51a5983fa1333c582c710ed6131d2bc0d641866150cf23001603a4ae0685b173",
"sourceBytes": 26,
"sourceUpdatedAt": "2025-01-01T00:00:00.000Z"
}
],
"dataReference": {
"strategyId": "11111111-1111-4111-8111-111111111111",
"strategyRevision": 1,
"symbols": [
"AAPL"
],
"provider": "alpaca",
"startDate": "2025-01-01",
"endDate": "2025-06-30",
"timeframe": "1D"
},
"backend": "local"
}curl --include \
--request POST \
'https://api.weavers.app/api/eureka/notebooks/strategy-11111111-1111-4111-8111-111111111111/executions' \
--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
{
"execution": {
"schema": "weavers.notebook.execution.v2",
"version": 2,
"jobId": "1",
"notebookKey": "strategy-11111111-1111-4111-8111-111111111111",
"notebookRevision": "example",
"cellId": "1",
"cellIds": [],
"mode": "all",
"strategyRevision": 1,
"dataContextSha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"resourceLimits": {
"timeoutSeconds": 1,
"outputMaxBytes": 1
},
"backend": "local",
"status": "running",
"sourceSha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"sourceBytes": 1,
"backendJobId": null,
"message": "Explain the data used in this research.",
"outputs": [],
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-01T00:00:00.000Z",
"completedAt": null
},
"idempotentReplay": false
}View response model
execution required · objectView execution model
schema required · "weavers.notebook.execution.v2"version required · 2jobId required · stringnotebookKey required · stringnotebookRevision required · stringcellId required · stringcellIds required · array of stringView cellIds model
Array items:
string
mode required · "all" | "through_cell"strategyRevision required · numberdataContextSha256 required · stringresourceLimits required · objectView resourceLimits model
timeoutSeconds required · numberoutputMaxBytes required · numberAdditional fields: JSON values.
backend required · "local" | "local_docker" | "local_gpu" | "remote_kubernetes"status required · "running" | "blocked" | "accepted" | "submitted" | "succeeded" | "failed" | "cancelled"sourceSha256 required · stringsourceBytes required · numberbackendJobId required · null | stringView backendJobId model
Variant 1: null
null
Variant 2: string
string
message required · stringoutputs required · array of objectView outputs model
Array items:
id required · stringkind required · "error" | "text" | "json" | "table" | "chart"text required · stringcreatedAt required · stringmetadata optional · objectView metadata model
Additional fields: JSON value.
Additional fields: JSON values.
createdAt required · stringupdatedAt required · stringcompletedAt required · null | stringView completedAt model
Variant 1: null
null
Variant 2: string
string
Additional fields: JSON values.
idempotentReplay required · booleanlocalWorkerCallback optional · objectView localWorkerCallback model
endpointPath required · stringheaderName required · "x-weavers-notebook-worker-token"proof required · stringAdditional fields: JSON values.
localWorkerInput optional · objectView localWorkerInput model
schema required · "weavers.notebook.execution.v2"version required · 2notebookKey required · stringnotebookRevision required · stringtargetCellId required · stringmode required · "all" | "through_cell"cells required · array of objectView cells model
Array items:
cellId required · stringsource required · stringsourceSha256 required · stringsourceBytes required · numbersourceUpdatedAt required · stringAdditional fields: JSON values.
dataContext required · objectView dataContext model
schema required · "weavers.notebook.data_context.v1"strategyId required · stringstrategyRevision required · numbersymbols required · array of stringView symbols model
Array items:
string
scope optional · "full" | "sample"strategyPoolSize optional · numberprovider required · "alpaca"startDate required · stringendDate required · stringtimeframe required · "1D" | "1H" | "4H"series required · array of objectView series model
Array items:
symbol required · stringsource required · null | stringView source model
Variant 1: null
null
Variant 2: string
string
candles required · array of objectView candles model
Array items:
timestamp required · stringopen required · numberhigh required · numberlow required · numberclose required · numbervolume optional · numberAdditional fields: JSON values.
rejectedRows required · numbertruncated required · booleanAdditional fields: JSON values.
missingSymbols required · array of stringView missingSymbols model
Array items:
string
totalBars required · numbermaxBars required · numbertruncated required · booleanpreparedAt required · stringAdditional fields: JSON values.
dataContextSha256 required · stringresourceLimits required · objectView resourceLimits model
timeoutSeconds required · numberoutputMaxBytes required · numberAdditional fields: JSON values.
Additional fields: JSON values.
Additional fields: JSON values.
202 · Work accepted. Poll the returned job or request identifier.
application/json
{
"execution": {
"schema": "weavers.notebook.execution.v2",
"version": 2,
"jobId": "1",
"notebookKey": "strategy-11111111-1111-4111-8111-111111111111",
"notebookRevision": "example",
"cellId": "1",
"cellIds": [],
"mode": "all",
"strategyRevision": 1,
"dataContextSha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"resourceLimits": {
"timeoutSeconds": 1,
"outputMaxBytes": 1
},
"backend": "local",
"status": "running",
"sourceSha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"sourceBytes": 1,
"backendJobId": null,
"message": "Explain the data used in this research.",
"outputs": [],
"createdAt": "2025-01-01T00:00:00.000Z",
"updatedAt": "2025-01-01T00:00:00.000Z",
"completedAt": null
},
"idempotentReplay": false
}View response model
execution required · objectView execution model
schema required · "weavers.notebook.execution.v2"version required · 2jobId required · stringnotebookKey required · stringnotebookRevision required · stringcellId required · stringcellIds required · array of stringView cellIds model
Array items:
string
mode required · "all" | "through_cell"strategyRevision required · numberdataContextSha256 required · stringresourceLimits required · objectView resourceLimits model
timeoutSeconds required · numberoutputMaxBytes required · numberAdditional fields: JSON values.
backend required · "local" | "local_docker" | "local_gpu" | "remote_kubernetes"status required · "running" | "blocked" | "accepted" | "submitted" | "succeeded" | "failed" | "cancelled"sourceSha256 required · stringsourceBytes required · numberbackendJobId required · null | stringView backendJobId model
Variant 1: null
null
Variant 2: string
string
message required · stringoutputs required · array of objectView outputs model
Array items:
id required · stringkind required · "error" | "text" | "json" | "table" | "chart"text required · stringcreatedAt required · stringmetadata optional · objectView metadata model
Additional fields: JSON value.
Additional fields: JSON values.
createdAt required · stringupdatedAt required · stringcompletedAt required · null | stringView completedAt model
Variant 1: null
null
Variant 2: string
string
Additional fields: JSON values.
idempotentReplay required · booleanlocalWorkerCallback optional · objectView localWorkerCallback model
endpointPath required · stringheaderName required · "x-weavers-notebook-worker-token"proof required · stringAdditional fields: JSON values.
localWorkerInput optional · objectView localWorkerInput model
schema required · "weavers.notebook.execution.v2"version required · 2notebookKey required · stringnotebookRevision required · stringtargetCellId required · stringmode required · "all" | "through_cell"cells required · array of objectView cells model
Array items:
cellId required · stringsource required · stringsourceSha256 required · stringsourceBytes required · numbersourceUpdatedAt required · stringAdditional fields: JSON values.
dataContext required · objectView dataContext model
schema required · "weavers.notebook.data_context.v1"strategyId required · stringstrategyRevision required · numbersymbols required · array of stringView symbols model
Array items:
string
scope optional · "full" | "sample"strategyPoolSize optional · numberprovider required · "alpaca"startDate required · stringendDate required · stringtimeframe required · "1D" | "1H" | "4H"series required · array of objectView series model
Array items:
symbol required · stringsource required · null | stringView source model
Variant 1: null
null
Variant 2: string
string
candles required · array of objectView candles model
Array items:
timestamp required · stringopen required · numberhigh required · numberlow required · numberclose required · numbervolume optional · numberAdditional fields: JSON values.
rejectedRows required · numbertruncated required · booleanAdditional fields: JSON values.
missingSymbols required · array of stringView missingSymbols model
Array items:
string
totalBars required · numbermaxBars required · numbertruncated required · booleanpreparedAt required · stringAdditional fields: JSON values.
dataContextSha256 required · stringresourceLimits required · objectView resourceLimits model
timeoutSeconds required · numberoutputMaxBytes required · numberAdditional 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
{}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.
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.
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.