---
title: "Generate a Sprint Retrospective deck (team-internal per-sprint reflection)"
method: POST
path: "/v1/workflows/agile/sprint-retrospective"
tags: ["workflows"]
---

# Generate a Sprint Retrospective deck (team-internal per-sprint reflection)

`POST /v1/workflows/agile/sprint-retrospective`

## Request

- Base URL: `https://api.slideforge.dev`
- URL: `https://api.slideforge.dev/v1/workflows/agile/sprint-retrospective`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Team-internal per-sprint reflection deck. 6 slides: Executive Dashboard, Project & Status Breakdown, Sprint Trends, Epic Progress, Development Summary, Highlights & Risks.

**Audience:** Scrum Master, team, PO.
**Cadence:** end of every sprint.
**Scope:** project (with project_id) or workspace-wide (project_id omitted).

**Modes:** `connection_id` (we fetch from Zoho), `prepared_data` (you give us a SprintMetrics-shaped dict). Pricing $0.18 per report (6 × $0.03).

## Request body

- AgileWorkflowRequest: Shared request body for /v1/workflows/agile/* endpoints. Three input modes (mutually exclusive): Mode A (stored OAuth): connection_id [+ project_id for single-project, omit for workspace-wide] Mode B-staging: staging_data dict — NOT YET IMPLEMENTED in Phase A Mode B-prepared: prepared_data dict (a SprintMetrics-shaped dict) → render only
  - `connection_id` string, nullable: OAuth connection (from /v1/oauth/{vendor}/authorize flow). Workspace-wide aggregation when project_id is omitted.
  - `project_id` string, nullable: Project ID (single-project mode); omit for workspace-wide aggregation.
  - `sprint_history` integer: Number of past sprints for trending
  - `staging_data` object, nullable: Caller-supplied canonical entities (SprintData, etc). NOT YET implemented.
  - `prepared_data` object, nullable: Pre-computed SprintMetrics-shaped dict — render only. Keys match SprintMetrics dataclass fields.
  - `theme_id` string
  - `options` object: Workflow-specific options, e.g. {exclude_slides: [...]}

## Response `202`

Report queued — poll GET /v1/jobs/{deck_id}

- unknown

## Other responses

- `400`: Invalid input
- `401`: Authentication required
- `422`: Validation Error

---

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