Skip to documentation
Weavers Docs

Pages and endpoints

Tab to navigate · Enter to openEsc to close

POST /api/optimisation/runs/:runId/publish-strategy

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.
  • Protected writes require an allowed Origin, the CSRF cookie and matching X-CSRF-Token header.

Request

ParameterLocationType and requirement
runIdpathstring · 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

displayName required · string
strategyKey optional · string | null
activateNow optional · boolean | string | number
monteCarloExecutionMode optional · 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
{
  "displayName": "Example research"
}
cURL (POSIX shell)
curl --include \
  --request POST \
  'https://api.weavers.app/api/optimisation/runs/1/publish-strategy' \
  --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
{
  "jobId": "1",
  "runId": "1",
  "status": "running",
  "stressTestId": null,
  "stressTestStatus": null,
  "stressTestProgressStage": null,
  "stressTestProgressMessage": null,
  "stressTestProgressHeartbeatAt": null,
  "request": {
    "displayName": "Example research",
    "strategyKey": null,
    "activateNow": false,
    "monteCarloExecutionMode": "default"
  },
  "result": null,
  "errorCode": null,
  "errorMessage": null,
  "createdAt": "2025-01-01T00:00:00.000Z",
  "updatedAt": "2025-01-01T00:00:00.000Z",
  "startedAt": null,
  "finishedAt": null
}
View response model
jobId required · string
runId required · string
status required · "running" | "succeeded" | "failed" | "queued" | "awaiting_stress_test"
stressTestId required · null | number
View stressTestId model
Variant 1: null

null

Variant 2: number

number

stressTestStatus required · null | "running" | "error" | "failed" | "queued" | "waiting_resources" | "passed"
View stressTestStatus model
Variant 1: null

null

Variant 2: "running"

"running"

Variant 3: "error"

"error"

Variant 4: "failed"

"failed"

Variant 5: "queued"

"queued"

Variant 6: "waiting_resources"

"waiting_resources"

Variant 7: "passed"

"passed"

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

null

Variant 2: string

string

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

null

Variant 2: string

string

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

null

Variant 2: string

string

request required · object
View request model
displayName required · string
strategyKey required · null | string
View strategyKey model
Variant 1: null

null

Variant 2: string

string

activateNow required · boolean
monteCarloExecutionMode required · "default" | "skip"

Additional fields: JSON values.

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

null

Variant 2: object
strategyRegistryId required · number
strategyKey required · string
strategyVariant required · string
strategyId required · string
alias required · string
displayName required · null | string
View displayName model
Variant 1: null

null

Variant 2: string

string

artifactId required · number
publishedAt required · string

Additional fields: JSON values.

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
updatedAt 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

Additional fields: JSON values.

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

application/json

202 example · synthetic data
{
  "jobId": "1",
  "runId": "1",
  "status": "running",
  "stressTestId": null,
  "stressTestStatus": null,
  "stressTestProgressStage": null,
  "stressTestProgressMessage": null,
  "stressTestProgressHeartbeatAt": null,
  "request": {
    "displayName": "Example research",
    "strategyKey": null,
    "activateNow": false,
    "monteCarloExecutionMode": "default"
  },
  "result": null,
  "errorCode": null,
  "errorMessage": null,
  "createdAt": "2025-01-01T00:00:00.000Z",
  "updatedAt": "2025-01-01T00:00:00.000Z",
  "startedAt": null,
  "finishedAt": null
}
View response model
jobId required · string
runId required · string
status required · "running" | "succeeded" | "failed" | "queued" | "awaiting_stress_test"
stressTestId required · null | number
View stressTestId model
Variant 1: null

null

Variant 2: number

number

stressTestStatus required · null | "running" | "error" | "failed" | "queued" | "waiting_resources" | "passed"
View stressTestStatus model
Variant 1: null

null

Variant 2: "running"

"running"

Variant 3: "error"

"error"

Variant 4: "failed"

"failed"

Variant 5: "queued"

"queued"

Variant 6: "waiting_resources"

"waiting_resources"

Variant 7: "passed"

"passed"

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

null

Variant 2: string

string

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

null

Variant 2: string

string

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

null

Variant 2: string

string

request required · object
View request model
displayName required · string
strategyKey required · null | string
View strategyKey model
Variant 1: null

null

Variant 2: string

string

activateNow required · boolean
monteCarloExecutionMode required · "default" | "skip"

Additional fields: JSON values.

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

null

Variant 2: object
strategyRegistryId required · number
strategyKey required · string
strategyVariant required · string
strategyId required · string
alias required · string
displayName required · null | string
View displayName model
Variant 1: null

null

Variant 2: string

string

artifactId required · number
publishedAt required · string

Additional fields: JSON values.

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
updatedAt 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

Additional fields: JSON values.

400 · Invalid request.

application/json

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

404 · Resource or enabled capability not found.

application/json

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

503 · Service or dependency unavailable.

application/json

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