> ## 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.

# Regenerate a recommendation

> Ask DAC to rewrite a coaching recommendation, optionally with new user context.

Ask DAC to rewrite a coaching recommendation. Optional `feedback` text steers the regeneration: pass what was wrong with the original, or what additional context DAC should weigh.

```bash theme={null}
curl -X POST https://app.dacard.ai/api/recommendations/regenerate \
  -H "Authorization: Bearer $DACARD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "recommendationId": "rec_xyz",
    "feedback": "Too generic. Our team is two ICs, not a 50-person org."
  }'
```

| Property       | Value                      |
| -------------- | -------------------------- |
| **Auth**       | Required                   |
| **Cost**       | 1 credit (LLM call)        |
| **Idempotent** | No (each call regenerates) |

## Body

| Field              | Type   | Required | Notes                                                          |
| ------------------ | ------ | -------- | -------------------------------------------------------------- |
| `recommendationId` | string | yes      | The original recommendation.                                   |
| `feedback`         | string | no       | Free-text steering. Stored against the original for the trace. |

## Response

```json theme={null}
{
  "recommendation": {
    "id": "rec_xyz",
    "rewrittenAt": "2026-05-06T12:00:00Z",
    "title": "...",
    "body": "...",
    "evidence": [...]
  }
}
```

The original is replaced in place; clients re-render against the same `id`.

## Errors

| Status | Code                       | When                                           |
| ------ | -------------------------- | ---------------------------------------------- |
| 401    | `AUTH_REQUIRED`            | No session.                                    |
| 402    | `CREDIT_EXHAUSTED`         | No credits.                                    |
| 404    | `Recommendation not found` | Bad `recommendationId` or not owned by caller. |
| 500    | `INTERNAL_ERROR`           | LLM or write failed.                           |

A `captureTrace()` row is written for every regeneration with `callType: dac_structured`.
