Skip to documentation
Weavers Docs

Pages and endpoints

Tab to navigate · Enter to openEsc to close

POST /api/eureka/notebooks/:notebookKey/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.
  • 202 queues assistant work. Poll the requestId under this same notebook; receiving a request identifier does not mean an answer is ready.
  • 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

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

string

Variant 2: null

null

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

string

Variant 2: null

null

message required · string

minLength: 1. maxLength: 8000

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

string

Variant 2: null

null

includeDiagnostics optional · boolean
diagnostics optional · array of string

maxItems: 80

View diagnostics model

Array items:

string

strategyContextLines optional · array of string

maxItems: 80

View strategyContextLines model

Array items:

string

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
{
  "message": "Explain this notebook's data inputs.",
  "includeDiagnostics": false
}
cURL (POSIX shell)
curl --include \
  --request POST \
  'https://api.weavers.app/api/eureka/notebooks/strategy-11111111-1111-4111-8111-111111111111/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.json

Responses

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

application/json

202 example · synthetic data
{
  "conversationId": "1",
  "scopeKey": "example",
  "messages": [],
  "request": {
    "requestId": "1",
    "status": "running",
    "errorCode": null,
    "errorMessage": null,
    "createdAt": "2025-01-01T00:00:00.000Z",
    "startedAt": null,
    "finishedAt": null,
    "updatedAt": "2025-01-01T00:00:00.000Z"
  },
  "assistant": null,
  "provider": null,
  "authType": null,
  "modelId": null
}
View response model
conversationId required · string
scopeKey required · string
messages required · array of object
View messages model

Array items:

id required · string
role required · "user" | "assistant"
content required · string
createdAt required · string

Additional fields: JSON values.

request required · object
View request model
requestId required · string
status required · "running" | "accepted" | "succeeded" | "failed" | "queued"
errorCode required · null | string
View errorCode model
Variant 1: null

null

Variant 2: string

string

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

null

Variant 2: string

string

createdAt required · string
startedAt required · null | string
View startedAt model
Variant 1: null

null

Variant 2: string

string

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

null

Variant 2: string

string

updatedAt required · string

Additional fields: JSON values.

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

null

Variant 2: object
schema required · "weavers.notebook.codex_assistant.v1"
version required · 1
message required · string
edits required · array of object
View edits model

Array items:

Variant 1: object
operation required · "replace_cell_source"
cellId required · string
source required · string
reason optional · string

Additional fields: JSON values.

Variant 2: object
operation required · "create_cell"
cellId optional · string
afterCellId optional · null | string
View afterCellId model
Variant 1: null

null

Variant 2: string

string

source required · string
reason optional · string

Additional fields: JSON values.

Variant 3: object
operation required · "delete_cell"
cellId required · string
reason optional · string

Additional fields: JSON values.

Variant 4: object
operation required · "move_cell"
cellId required · string
afterCellId optional · null | string
View afterCellId model
Variant 1: null

null

Variant 2: string

string

reason optional · string

Additional fields: JSON values.

warnings required · array of string
View warnings model

Array items:

string

Additional fields: JSON values.

provider required · null | "codex"
View provider model
Variant 1: null

null

Variant 2: "codex"

"codex"

authType required · null | "oauth" | "codex_access_token"
View authType model
Variant 1: null

null

Variant 2: "oauth"

"oauth"

Variant 3: "codex_access_token"

"codex_access_token"

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

null

Variant 2: string

string

Additional fields: JSON values.

400 · Invalid request.

application/json

400 example · synthetic data
{
  "error": "example",
  "code": "example"
}
View response model
error required · string
code required · 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.