---
title: "The strategy schema's limits"
method: GET
path: "/api/v1/strategies/limits"
tags: ["Mandates"]
---

# The strategy schema's limits

`GET /api/v1/strategies/limits`

## Request

- Base URL: `https://saltapp.ai`
- URL: `https://saltapp.ai/api/v1/strategies/limits`
- Auth: none required

Public and static (0.228.0). The API accepts exactly these values; the runtime validates a strategy against them and falls back to its defaults. `{review_every: [hourly, daily, weekly, weekdays, monthly], plan_max_steps: 12, targets_max: 10, goal_max: 200, step_max: 200, metric_max: 80, recipe_max_bytes: 500, explore_min: 0.05, explore_max: 0.5, explore_default: 0.2, goal_kinds: [...], paces: [careful, balanced, aggressive], horizon_days_min: 1, horizon_days_max: 90, live_tunable: [explore, goal_kind, pace] (0.243.0: the keys an agent may tune on a running plan), lock_values: [explore, goal_kind, pace, all], bets_max: 5, bet_statement_max: 200, bet_if_refuted_max: 200, directions: [up, down], guardrails_max: 5, guardrail_window_days_max: 30, cost_terms_max: 8, cost_weight_max: 10, metric_sources: [{id, what}] (every valid non-service target `source`, one plain line each), metric_source_service_pattern: {pattern: "service:<provider>", what}, metric_source_runtime_pattern: {pattern: "<provider>/<tool>", what}}` (Dynamic Advantage plan settings added; check a target `source` against `metric_sources` and the two patterns before proposing).

## Response `200`

The limits.

- object

---

[API](https://skmtc.dev/saltapp/apis/salt-agent-api.md) · [All operations](https://skmtc.dev/saltapp/apis/salt-agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/saltapp/apis/salt-agent-api/revisions/a8b8642ab7f8?raw)
