Polyrankdocs
ApiLab

PATCH /v1/lab/strategies/{id}

Rename, edit the spec of, archive or unarchive one of the caller’s strategies. An edited spec returns the strategy to draft: its past backtests keep the spec they ran with. 403 `plan_required` (strategy_lab; own rules: Quant and above). 404 `lab_disabled` while LAB_ENABLED is off.

PATCH
/v1/lab/strategies/{id}

Rename, edit the spec of, archive or unarchive one of the caller’s strategies. An edited spec returns the strategy to draft: its past backtests keep the spec they ran with. 403 plan_required (strategy_lab; own rules: Quant and above). 404 lab_disabled while LAB_ENABLED is off.

AuthorizationBearer <token>

API key: Authorization: Bearer pk_live_… (mint at polyrank.app/api-keys)

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PATCH "https://example.com/v1/lab/strategies/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "name": "string",  "status": "draft",  "template_id": "string",  "spec": {    "property1": null,    "property2": null  },  "created_at": "string",  "updated_at": "string",  "last_backtest": {    "id": "string",    "status": "string",    "per10": 0,    "copies": 0,    "created_at": "string"  }}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}
{  "error": "string",  "message": "string",  "feature": "string",  "field": "string",  "plan": "string",  "retry_after_sec": 0,  "retry_after_seconds": 0,  "reason": "string",  "issues": [    null  ],  "trace_id": "string"}