---
title: "Regenerate AI analysis for a regression (paying tiers only)"
method: POST
path: "/api/v1/ai-analyses/regressions/{regression_id}/regenerate"
tags: ["ai-analyses"]
---

# Regenerate AI analysis for a regression (paying tiers only)

`POST /api/v1/ai-analyses/regressions/{regression_id}/regenerate`

## Request

- Base URL: `https://monit.rs`
- URL: `https://monit.rs/api/v1/ai-analyses/regressions/{regression_id}/regenerate`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Triggers a fresh AI analysis for the given regression. **Costs money** — spends AI provider tokens per call. Passes through 5 guardrails: scope, tier (Free rejected), monthly quota (`max_ai_analyses`), provider circuit breaker, and a per-day cap (50/day paid, 500/day enterprise). Distinct error `code` per layer so clients can differentiate.

## Path parameters

- `regression_id` string, uuid, required

## Response `200`

Regenerated. Response includes tokens_used + quota_remaining_month + quota_remaining_day.

## Other responses

- `401`: Missing or invalid credentials.
- `403`: Missing write:ai-analyses scope OR tier_not_eligible (Free tier).
- `404`: Regression not owned by caller.
- `429`: Monthly quota (ai_quota_exceeded) OR daily cap (regenerate_daily_cap) hit.
- `502`: AI provider returned empty (regeneration_failed).
- `503`: Provider circuit breaker open (provider_unavailable) — retry in ~15min.

---

[API](https://skmtc.dev/monit/apis/monit-rs-public-api.md) · [All operations](https://skmtc.dev/monit/apis/monit-rs-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/monit/apis/monit-rs-public-api/revisions/7e1923981112?raw)
