---
title: "Get Site Summary"
method: GET
path: "/site-summaries/{task_id}"
tags: ["site-summaries"]
---

# Get Site Summary

`GET /site-summaries/{task_id}`

Retrieve the site summary for a specific task.

The status reflects whether the summary is up-to-date:
- SUCCESS: Summary exists and includes all available transcripts
- PENDING: No summary yet OR new transcripts need to be processed
- PROCESSING: Summary is currently being generated/updated
- ERROR: An error occurred

Returns:
- status: Current status of the summary
- site_summary: The summary text (even if outdated, with status=PENDING)
- message: Additional information about the status
- has_new_transcripts: Whether there are unprocessed transcripts

Caching strategy:
- Cache site summary response with 60 second TTL
- Cache is invalidated when summary is generated/updated (via Celery tasks)

## Path parameters

- `task_id` string, required

## Response `200`

Successful Response

- SiteSummaryResponse
  - `status` 'pending' | 'processing' | 'success' | 'error' | 'empty_audio', required
  - `site_summary` string, nullable
  - `message` string, nullable
  - `has_new_transcripts` boolean

## Other responses

- `404` — Not found
- `422` — Validation Error

---

[API](https://skmtc.dev/noso/apis/crucible-backend-api.md) · [All operations](https://skmtc.dev/noso/apis/crucible-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/noso/crucible-backend-api/revisions/d96feef8e2ef/schema)
