Skip to documentation
Weavers Docs

Pages and endpoints

Tab to navigate · Enter to openEsc to close

POST /api/optimisation/runs/:runId/validation-attempts

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.

No request body.

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.

cURL (POSIX shell)
curl --include \
  --request POST \
  'https://api.weavers.app/api/optimisation/runs/1/validation-attempts' \
  --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}"

Responses

201 · Resource created.

application/json

201 example · synthetic data
{
  "id": "1",
  "runId": "1",
  "versionId": "1",
  "createdAt": "2025-01-01T00:00:00.000Z",
  "status": "blocked",
  "checks": [],
  "evidence": {
    "winnerTrial": null,
    "dataProvider": "example",
    "startDay": null,
    "endDay": null,
    "tradeCount": null,
    "parameters": {},
    "winner": {},
    "holdoutEquityCurve": [],
    "holdout": {},
    "missing": []
  },
  "explanation": null,
  "decisions": []
}
View response model
id required · string
runId required · string
versionId required · string
createdAt required · string
status required · "blocked" | "unavailable" | "checks_passed"
checks required · array of object
View checks model

Array items:

id required · string
label required · string
state required · "failed" | "unavailable" | "passed" | "not_run"
actual optional · number
required optional · number
comparator optional · "at_least" | "at_most"
unit optional · "number" | "ratio"
benchmark optional · number
benchmarkSymbol optional · string

Additional fields: JSON values.

evidence required · object
View evidence model
winnerTrial required · null | number
View winnerTrial model
Variant 1: null

null

Variant 2: number

number

dataProvider required · string
startDay required · null | string
View startDay model
Variant 1: null

null

Variant 2: string

string

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

null

Variant 2: string

string

tradeCount required · null | number
View tradeCount model
Variant 1: null

null

Variant 2: number

number

parameters required · object
View parameters model

Additional fields: JSON value.

winner required · object
View winner model

Additional fields: JSON value.

holdoutEquityCurve required · array of object
View holdoutEquityCurve model

Array items:

day required · string
equity required · number
drawdown required · number

Additional fields: JSON values.

holdout required · object
View holdout model

Additional fields: JSON value.

missing required · array of string
View missing model

Array items:

string

Additional fields: JSON values.

revisions optional · array of object
View revisions model

Array items:

id required · string
runId required · string
reason required · string
createdAt required · string
attemptId required · string
sourceVersionId required · string
revisionNumber required · number
parentRevisionId required · null | string
View parentRevisionId model
Variant 1: null

null

Variant 2: string

string

Additional fields: JSON values.

explanationAvailable optional · false | true
explanation required · null | object
View explanation model
Variant 1: null

null

Variant 2: object
text required · string
model required · string
generatedAt required · string

Additional fields: JSON values.

decisions required · array of object
View decisions model

Array items:

decision required · "reject" | "investigate" | "revise" | "observe"
reason required · string
createdAt required · string

Additional fields: JSON values.

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.