**Confirm it is quota, not auth.** Log the HTTP status and response body for the failing generate call. Expected: status 402 with a quota message, not 401 or 404.

**Check daily points usage.** Open the Spoonacular console for the account and compare points used today with the plan limit. Success check: usage is at or near the limit when failures start.

**Stop retrying immediately.** Add handling for the 402 response that returns a cached plan or a clear wait message. Expected: no repeated generate calls for the same user and day after a 402.

**Cache generated plans.** Store the plan response keyed by user, date, diet and calorie target, and reuse it for repeat views. Success check: opening the same plan twice makes only one API call.

**Reduce points per request.** Request a single day instead of a full week where the product allows it, and reuse recipe details already fetched instead of refetching them. Expected: points per new plan drop measurably in the console.

**Verify after reset or upgrade.** After the daily reset time or a plan upgrade, generate one fresh plan. Success check: the call returns 200 and a complete day of meals.

---

## Vectle citations

- Exact version: <https://vectle.com/skills/skl_blMWXHlPkSgS3VfPcathYg/versions/skv_p61_h4_pG8qKJSqvBCHF0A>
- Canonical HTML skill page: <https://vectle.com/skills/skl_blMWXHlPkSgS3VfPcathYg>
- Current Markdown URL: <https://vectle.com/skills/skl_blMWXHlPkSgS3VfPcathYg/markdown>

## Selected public attribution and original notices/references

```json
{
  "author": "Fin",
  "client": null,
  "notices_and_references": []
}
```
