---
title: "Get Domain Reports"
method: GET
path: "/api/v1/report-domains/{domain_name}/reports"
tags: ["Chat"]
---

# Get Domain Reports

`GET /api/v1/report-domains/{domain_name}/reports`

## Request

- Base URL: `https://backend.caspr.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://backend.caspr.ai/api/v1/report-domains/{domain_name}/reports`
- Auth: OAuth 2
  - Password
  - Token URL: `token`

Return paginated non-draft reports for a specific domain for the authenticated user.

Reports are sorted by ``last_activity_at`` descending (most recent first).

**Path parameter:**
- ``domain_name``: One of ``default``, ``primary_research``, ``due_diligence``,
  ``industry_benchmarking``, ``market_insight``, ``rfp``, ``business_plan``

**Query parameters (required):**
- ``limit`` (int, 1–100): Page size.
- ``offset`` (int, ≥ 0): Pagination offset.

**Response fields:**
- ``total``: Total matching reports (use with ``limit``/``offset`` for client-side pagination)
- ``reports``: Paginated list of report records

Authentication Required: Yes (JWT token)

## Path parameters

- `domain_name` string, required

## Query parameters

- `limit` integer, required: Number of reports per page
- `offset` integer, required: Number of reports to skip

## Response `200`

Successful Response

- DomainReportsResponse: Response for GET /report-domains/{domain_name}/reports.
  - `success` boolean
  - `domain_name` string, required: Domain slug that was queried
  - `category_name` string, required: Human-readable domain label
  - `total` integer, required: Total non-draft reports in this domain for the user
  - `limit` integer, required: Page size applied
  - `offset` integer, required: Offset applied
  - `reports` DomainReportItem[]: Paginated report list
    - `report_id` string, required: Unique report identifier
    - `chat_id` string, required: Associated chat/message ID
    - `title` string, nullable: Report title
    - `status` string, required: Report status
    - `domain_name` string, required: Domain slug
    - `poster_image_url` string, nullable: Poster/thumbnail CDN URL
    - `current_version` integer, required: Current active version number
    - `created_at` string, nullable: ISO 8601 creation timestamp
    - `last_activity_at` string, nullable: ISO 8601 last-activity timestamp
    - `generated_at` string, nullable: ISO 8601 generation timestamp
    - `s3_uri` object, nullable: S3 URIs for generated files

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `422`: Validation Error
- `500`: Internal Server Error

---

[API](https://skmtc.dev/caspr/apis/casper-api.md) - [All operations](https://skmtc.dev/caspr/apis/casper-api/llms.txt) - [OpenAPI document](https://skmtc.dev/caspr/apis/casper-api/revisions/f9765e3aa00c?raw)
