| Property | Value |
|---|---|
| Auth | Required |
| Required scope | Caller must own the product |
| Idempotent | Yes |
Query
| Field | Type | Required | Notes |
|---|---|---|---|
productId | string | yes | The product whose moves are returned. |
dimensionId | string | no | Filter to one dimension’s moves. |
aperture | string | no | Aperture preset id. Narrows what counts as relevant. |
Response
Returns the active moves grouped by function, each with evidence citations and an effort estimate. The exact shape mirrors what the coaching drawer renders. Seeapps/web/src/app/api/intelligence/coaching/route.ts for the canonical shape until the OpenAPI source is regenerated.
Errors
| Status | Code | When |
|---|---|---|
| 400 | productId required | Query missing. |
| 401 | AUTH_REQUIRED | No session. |
| 403 | FORBIDDEN | Caller does not own the product. |
| 404 | Product not found | Bad productId. |
| 500 | INTERNAL_ERROR | Read failed. |