Skip to content

Activity → exercise drill-down catalog

GET
/api/thresholds/nav/
curl --request GET \
--url http://localhost:8000/api/thresholds/nav/ \
--header 'Authorization: Bearer <token>'

Any team member. Tree of activities and their exercises with two counters per node: total (every MetricSpec the activity / exercise carries) and customised (rows the team has actually overridden). Powers the left-rail picker on the threshold-configurator page and surfaces the “X tuned” badges so coaches see at a glance what they’ve touched.

Media typeapplication/json
object
items
required
Array<object>
object
activity
required
string
label
required
string
exercises
required
Array<object>
object
name
required
string
metric_count
required
integer
customised_count
required
integer
Examplegenerated
{
"items": [
{
"activity": "example",
"label": "example",
"exercises": [
{
"name": "example",
"metric_count": 1,
"customised_count": 1
}
]
}
]
}
Media typeapplication/json
object
detail
required

Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).

string
Examplegenerated
{
"detail": "example"
}
Media typeapplication/json
object
detail
required

Human-readable message, or a stable machine code for the cases a client branches on. The standard envelope for 400 (validation — a field-keyed object may appear instead), 401 (missing / invalid credentials), 403 (authenticated but not permitted), and 404 (absent — cross-team records are collapsed to 404 so the API never leaks the existence of another team’s data).

string
Examples
Example403—PartnerAPIKeysCan'tManageThresholds

403 — partner API keys can't manage thresholds

{
"detail": "You do not have permission to perform this action."
}