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

# Regenerate summary

> Regenerate a meeting summary with different formatting options, language, or detail level.

Triggers a new AI-generated summary for an existing meeting. The previous summary is replaced once the new one is ready. Use this to change the format, language, or level of detail.

This endpoint has an additional rate limit of 10 requests per minute. See [rate limits](/api-reference/rate-limits#endpoint-specific-limits).

<ParamField path="id" type="string" required>
  The unique summary identifier (e.g., `sum_1g2h3i4j5k6l`).
</ParamField>

### Request body

<ParamField body="format" type="string" default="structured">
  The output format for the summary:

  * `structured` -- Organized sections (overview, agenda, decisions, action items, key points).
  * `narrative` -- A flowing paragraph-style summary.
  * `bullet_points` -- Concise bullet-point list of key takeaways.
</ParamField>

<ParamField body="language" type="string">
  Generate the summary in a different language. ISO 639-1 code (e.g., `es` for Spanish, `fr` for French, `ja` for Japanese). Defaults to the original transcript language.
</ParamField>

<ParamField body="detail_level" type="string" default="standard">
  Level of detail in the summary:

  * `brief` -- 3-5 sentence overview with only the most critical items.
  * `standard` -- Balanced summary covering all major topics and decisions.
  * `detailed` -- Comprehensive summary with granular topic breakdowns and full context.
</ParamField>

<ParamField body="focus_topics" type="array">
  Optional array of topic strings to emphasize in the summary (e.g., `["budget", "timeline"]`). The AI will give these topics extra attention and detail.
</ParamField>

### Response

<ResponseField name="id" type="string">
  The summary identifier (same as the input).
</ResponseField>

<ResponseField name="meeting_id" type="string">
  The ID of the associated meeting.
</ResponseField>

<ResponseField name="status" type="string">
  Processing status: `processing` immediately after the request, `completed` when done.
</ResponseField>

<ResponseField name="format" type="string">
  The requested format.
</ResponseField>

<ResponseField name="language" type="string">
  The requested language.
</ResponseField>

<ResponseField name="detail_level" type="string">
  The requested detail level.
</ResponseField>

<ResponseField name="estimated_seconds" type="integer">
  Estimated time until the new summary is ready, in seconds.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.mavioapp.com/v1/summaries/sum_1g2h3i4j5k6l/regenerate \
    -H "Authorization: Bearer mvo_live_abc123" \
    -H "Content-Type: application/json" \
    -d '{
      "format": "narrative",
      "language": "es",
      "detail_level": "detailed"
    }'
  ```

  ```python Python theme={null}
  result = client.summaries.regenerate(
      "sum_1g2h3i4j5k6l",
      format="narrative",
      language="es",
      detail_level="detailed"
  )
  print(f"Regenerating... ETA: {result.estimated_seconds}s")
  ```

  ```javascript Node.js theme={null}
  const result = await client.summaries.regenerate('sum_1g2h3i4j5k6l', {
    format: 'narrative',
    language: 'es',
    detail_level: 'detailed',
  });
  console.log(`Regenerating... ETA: ${result.estimated_seconds}s`);
  ```
</RequestExample>

<ResponseExample>
  ```json 202 theme={null}
  {
    "id": "sum_1g2h3i4j5k6l",
    "meeting_id": "mtg_8f3k2j1m4n5p",
    "status": "processing",
    "format": "narrative",
    "language": "es",
    "detail_level": "detailed",
    "estimated_seconds": 15
  }
  ```
</ResponseExample>

<Note>
  Regeneration is asynchronous. Poll the [Get summary](/api-reference/summaries/get-summary) endpoint to check when the new summary is ready, or subscribe to the `summary.ready` [webhook event](/api-reference/webhooks/events) for real-time notification.
</Note>

<Tip>
  Use `focus_topics` when you need the summary to emphasize specific areas. For example, after a board meeting you might pass `["financials", "hiring"]` to get a summary that prioritizes those discussions.
</Tip>
