Skip to documentation
Weavers Docs

Pages and endpoints

Tab to navigate · Enter to openEsc to close

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

ParameterLocationType and requirement
notebookKeypathstring · required
x-idempotency-keyheaderstring · required

Pattern: ^[A-Za-z0-9_-]{8,128}$

Originheaderstring · required

An origin allowed by this deployment.

X-CSRF-Tokenheaderstring · required

Must match the CSRF cookie issued to this browser.

Body · application/json

notebookKey required · string
notebookRevision required · string
targetCellId required · string
mode required · "all" | "through_cell"
cells required · array of object
View cells model

Array items:

cellId required · string
source required · string
sourceSha256 required · string
sourceBytes required · number
sourceUpdatedAt required · string
dataReference required · object
View dataReference model
strategyId required · string
strategyRevision required · number
symbols required · array of string
View symbols model

Array items:

string

scope optional · "full" | "sample"
provider required · "alpaca"
startDate required · string
endDate required · string
timeframe required · "1D" | "1H" | "4H"
resourceLimits optional · object
View resourceLimits model
timeoutSeconds optional · number
outputMaxBytes optional · number
backend 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.

Save as request.json
{
  "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 (POSIX shell)
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.json

Responses

200 · Successful response.

application/json

200 example · synthetic data
{
  "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 · object
View execution model
schema required · "weavers.notebook.execution.v2"
version required · 2
jobId required · string
notebookKey required · string
notebookRevision required · string
cellId required · string
cellIds required · array of string
View cellIds model

Array items:

string

mode required · "all" | "through_cell"
strategyRevision required · number
dataContextSha256 required · string
resourceLimits required · object
View resourceLimits model
timeoutSeconds required · number
outputMaxBytes required · number

Additional fields: JSON values.

backend required · "local" | "local_docker" | "local_gpu" | "remote_kubernetes"
status required · "running" | "blocked" | "accepted" | "submitted" | "succeeded" | "failed" | "cancelled"
sourceSha256 required · string
sourceBytes required · number
backendJobId required · null | string
View backendJobId model
Variant 1: null

null

Variant 2: string

string

message required · string
outputs required · array of object
View outputs model

Array items:

id required · string
kind required · "error" | "text" | "json" | "table" | "chart"
text required · string
createdAt required · string
metadata optional · object
View metadata model

Additional fields: JSON value.

Additional fields: JSON values.

createdAt required · string
updatedAt required · string
completedAt required · null | string
View completedAt model
Variant 1: null

null

Variant 2: string

string

Additional fields: JSON values.

idempotentReplay required · boolean
localWorkerCallback optional · object
View localWorkerCallback model
endpointPath required · string
headerName required · "x-weavers-notebook-worker-token"
proof required · string

Additional fields: JSON values.

localWorkerInput optional · object
View localWorkerInput model
schema required · "weavers.notebook.execution.v2"
version required · 2
notebookKey required · string
notebookRevision required · string
targetCellId required · string
mode required · "all" | "through_cell"
cells required · array of object
View cells model

Array items:

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

Additional fields: JSON values.

dataContext required · object
View dataContext model
schema required · "weavers.notebook.data_context.v1"
strategyId required · string
strategyRevision required · number
symbols required · array of string
View symbols model

Array items:

string

scope optional · "full" | "sample"
strategyPoolSize optional · number
provider required · "alpaca"
startDate required · string
endDate required · string
timeframe required · "1D" | "1H" | "4H"
series required · array of object
View series model

Array items:

symbol required · string
source required · null | string
View source model
Variant 1: null

null

Variant 2: string

string

candles required · array of object
View candles model

Array items:

timestamp required · string
open required · number
high required · number
low required · number
close required · number
volume optional · number

Additional fields: JSON values.

rejectedRows required · number
truncated required · boolean

Additional fields: JSON values.

missingSymbols required · array of string
View missingSymbols model

Array items:

string

totalBars required · number
maxBars required · number
truncated required · boolean
preparedAt required · string

Additional fields: JSON values.

dataContextSha256 required · string
resourceLimits required · object
View resourceLimits model
timeoutSeconds required · number
outputMaxBytes required · number

Additional fields: JSON values.

Additional fields: JSON values.

Additional fields: JSON values.

202 · Work accepted. Poll the returned job or request identifier.

application/json

202 example · synthetic data
{
  "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 · object
View execution model
schema required · "weavers.notebook.execution.v2"
version required · 2
jobId required · string
notebookKey required · string
notebookRevision required · string
cellId required · string
cellIds required · array of string
View cellIds model

Array items:

string

mode required · "all" | "through_cell"
strategyRevision required · number
dataContextSha256 required · string
resourceLimits required · object
View resourceLimits model
timeoutSeconds required · number
outputMaxBytes required · number

Additional fields: JSON values.

backend required · "local" | "local_docker" | "local_gpu" | "remote_kubernetes"
status required · "running" | "blocked" | "accepted" | "submitted" | "succeeded" | "failed" | "cancelled"
sourceSha256 required · string
sourceBytes required · number
backendJobId required · null | string
View backendJobId model
Variant 1: null

null

Variant 2: string

string

message required · string
outputs required · array of object
View outputs model

Array items:

id required · string
kind required · "error" | "text" | "json" | "table" | "chart"
text required · string
createdAt required · string
metadata optional · object
View metadata model

Additional fields: JSON value.

Additional fields: JSON values.

createdAt required · string
updatedAt required · string
completedAt required · null | string
View completedAt model
Variant 1: null

null

Variant 2: string

string

Additional fields: JSON values.

idempotentReplay required · boolean
localWorkerCallback optional · object
View localWorkerCallback model
endpointPath required · string
headerName required · "x-weavers-notebook-worker-token"
proof required · string

Additional fields: JSON values.

localWorkerInput optional · object
View localWorkerInput model
schema required · "weavers.notebook.execution.v2"
version required · 2
notebookKey required · string
notebookRevision required · string
targetCellId required · string
mode required · "all" | "through_cell"
cells required · array of object
View cells model

Array items:

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

Additional fields: JSON values.

dataContext required · object
View dataContext model
schema required · "weavers.notebook.data_context.v1"
strategyId required · string
strategyRevision required · number
symbols required · array of string
View symbols model

Array items:

string

scope optional · "full" | "sample"
strategyPoolSize optional · number
provider required · "alpaca"
startDate required · string
endDate required · string
timeframe required · "1D" | "1H" | "4H"
series required · array of object
View series model

Array items:

symbol required · string
source required · null | string
View source model
Variant 1: null

null

Variant 2: string

string

candles required · array of object
View candles model

Array items:

timestamp required · string
open required · number
high required · number
low required · number
close required · number
volume optional · number

Additional fields: JSON values.

rejectedRows required · number
truncated required · boolean

Additional fields: JSON values.

missingSymbols required · array of string
View missingSymbols model

Array items:

string

totalBars required · number
maxBars required · number
truncated required · boolean
preparedAt required · string

Additional fields: JSON values.

dataContextSha256 required · string
resourceLimits required · object
View resourceLimits model
timeoutSeconds required · number
outputMaxBytes required · number

Additional fields: JSON values.

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
{}
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.

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
error required · string
code required · string

Additional fields: JSON values.