> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dacard.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get coaching drilldown

> Read the coaching layer for a product. Returns moves, evidence, and effort estimates.

Read the coaching layer for a product. Returns the active set of moves, the evidence chain behind each (signals, scores, prior cycles), and effort estimates. Used by the coaching drawer and the moves rail.

```bash theme={null}
curl -X GET "https://app.dacard.ai/api/intelligence/coaching?productId=prod_abc" \
  -H "Authorization: Bearer $DACARD_API_KEY"
```

| 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. See `apps/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.                     |
