---
title: "Composed cohort snapshot (PDF)"
method: GET
path: "/funds/style/{slug}/snapshot.pdf"
tags: ["Funds"]
---

# Composed cohort snapshot (PDF)

`GET /funds/style/{slug}/snapshot.pdf`

## Request

- Base URL: `https://riskmodels.app/api`
- URL: `https://riskmodels.app/api/funds/style/{slug}/snapshot.pdf`
- Auth: HTTP bearer

Server-rendered C1 cohort tearsheet PDF (Stage D.2.d). Same composition as `/api/funds/style/{slug}/snapshot` (JSON), rendered via Playwright through `app/(print)/render-snapshot/funds/style/[slug]/page.tsx`. Letter landscape, single page. Differentiated wedge: cohort aggregates EW + MV, top funds, top symbols, cohort top holdings — content Morningstar does not present at this granularity.
**Caching:** Content-keyed on `(user, slug, report_date)` for 24h.

## Path parameters

- `slug` 'large-value' | 'large-blend' | 'large-growth' | 'mid-value' | 'mid-blend' | 'mid-growth' | 'small-value' | 'small-blend' | 'small-growth', required

## Response `200`

PDF cohort tearsheet (Letter landscape).

## Other responses

- `400`: Invalid style slug.
- `401`: Authentication required.
- `402`: Insufficient prepaid balance.
- `404`: No cohort metrics available for this cell.
- `503`: PDF rendering disabled (`PLAYWRIGHT_PDF_ENABLED` is not `true` on the runtime).

---

[API](https://skmtc.dev/riskmodels/apis/riskmodels-api.md) · [All operations](https://skmtc.dev/riskmodels/apis/riskmodels-api/llms.txt) · [OpenAPI document](https://skmtc.dev/riskmodels/apis/riskmodels-api/revisions/1a034cad408a?raw)
