# Query meeting-minutes task status

Poll a minutes task. Recommended interval ≥ 30 seconds. Do not poll faster than that: `xrtoken-minutes` summary is finished by the server poller, not by GET.

- **processing**: still running
- **succeeded**: `xrtoken-minutes` includes `report` / `transcription` / `summary` / `chapters` / `extraction`. Report quality is complete or partial (needs review). Historical tasks may omit report; use legacy fields. `doubao-minutes` may also include `extraction` / `translation`.
- **failed**: inspect `error`. When only the summary failed, `report` / `transcription` / `usage` remain available, with `transcription_status=succeeded`, `summary_status=failed`, and `report.quality.status=unavailable`. Completed ASR and observed summary usage are settled; the remaining reservation is released. ASR failure releases the reservation.

`xrtoken-minutes` summary generation has an independent 30-minute limit; timeout adds `summary_timeout` to `report.quality.issues`. GET and list also present historical unavailable-summary results as failed without rewriting source data, billing, or timestamps. No automatic retry occurs. Submit this `task_id` to `POST /v1/summaries` to explicitly generate a new summary.

## GET /v1/audio/minutes/{taskId}

> Query meeting-minutes task status

Poll a minutes task. Recommended interval ≥ 30 seconds. Do not poll faster than that: `xrtoken-minutes` summary is finished by the server poller, not by GET.

- **processing**: still running
- **succeeded**: `xrtoken-minutes` includes `report` / `transcription` / `summary` / `chapters` / `extraction`. Report quality is complete or partial (needs review). Historical tasks may omit report; use legacy fields. `doubao-minutes` may also include `extraction` / `translation`.
- **failed**: inspect `error`. When only the summary failed, `report` / `transcription` / `usage` remain available, with `transcription_status=succeeded`, `summary_status=failed`, and `report.quality.status=unavailable`. Completed ASR and observed summary usage are settled; the remaining reservation is released. ASR failure releases the reservation.

`xrtoken-minutes` summary generation has an independent 30-minute limit; timeout adds `summary_timeout` to `report.quality.issues`. GET and list also present historical unavailable-summary results as failed without rewriting source data, billing, or timestamps. No automatic retry occurs. Submit this `task_id` to `POST /v1/summaries` to explicitly generate a new summary.

### Authentication

`Authorization: Bearer tr-xxx`

### Path Parameters

- **taskId** `string` **(required)**  
  Task ID returned by `POST /v1/audio/minutes`

### Response

- **id** `string` **(required)**  
  
- **model** `string` **(required)**  
  
- **status** ``processing` | `succeeded` | `failed` | `cancelled`` **(required)**  
  
- **transcription_status** ``succeeded``  
  Present when a structured report retains completed transcription, including summary failure.
- **summary_status** ``succeeded` | `failed``  
  Independent summary outcome. Failed summaries retain source transcription and observed usage.
- **report** `object`  
  Structured report for new xrtoken-minutes results. Check quality.status before displaying. Source text and speaker IDs are authoritative; generated content still requires semantic review.
- **report.version** ``2`` **(required)**  
  
- **report.metadata** `object` **(required)**  
  
- **report.overview** `object` **(required)**  
  Content with source references. sourced means references passed structural validation, not independent factual verification. Resolve speaker runs using report.speakers at display time.
- **report.keyPoints** `object[]` **(required)**  
  
- **report.sections** `object[]` **(required)**  
  
- **report.chapters** `object[]` **(required)**  
  
- **report.todos** `object[]` **(required)**  
  
- **report.decisions** `object[]` **(required)**  
  
- **report.quotes** `object[]` **(required)**  
  
- **report.reviewItems** `object[]` **(required)**  
  
- **report.visuals** `object[]` **(required)**  
  
- **report.speakers** `object[]` **(required)**  
  
- **report.segments** `object[]` **(required)**  
  
- **report.quality** `object` **(required)**  
  complete: required content parsed and validation passed; partial: content needs review or validation removed invalid items; unavailable: summary generation/format failed, transcript remains available. Minutes tasks with unavailable summary quality are presented as failed while retaining completed transcription.
- **transcription** `object`  
  Sentence-level transcript. Each item has content, millisecond start_time/end_time, and speaker.id/speaker.name
- **summary** `object`  
  Legacy summary. xrtoken-minutes returns {title, paragraph, quality} rendered from report. Native clients should use report
- **chapters** `object`  
  Chapter tree. For xrtoken-minutes this is {chapter_summary: [...]} with optional children_paras
- **extraction** `object`  
  xrtoken-minutes: {todos, decisions, quotes}; doubao-minutes: requested extraction features
- **translation** `object`  
  Translated transcript (doubao-minutes only)
- **usage** `object`  
  
- **usage.duration_ms** `integer`  
  
- **usage.features** `string[]`  
  
- **usage.all_activate** `boolean`  
  
- **usage.engine** `string`  
  auc_flash for xrtoken-minutes
- **usage.rate_per_hour** `integer`  
  ASR unit rate per hour. See the model marketplace for prices.
- **usage.amount** `integer`  
  Total settled amount (minor units)
- **usage.asr_amount** `integer`  
  ASR charge (`xrtoken-minutes` only)
- **usage.flash_amount** `integer`  
  Flash summary charge (`xrtoken-minutes` only)
- **usage.flash_input_tokens** `integer`  
  
- **usage.flash_output_tokens** `integer`  
  
- **error** `string`  
  
- **created_at** `string` **(required)**  
  
- **updated_at** `string` **(required)**  
  

### Error Codes

- `401`: 
- `404`: Task not found or does not belong to the current user
