---
title: "Get Provenance"
method: GET
path: "/sessions/{session_id}/provenance"
tags: ["sessions"]
---

# Get Provenance

`GET /sessions/{session_id}/provenance`

## Request

- Base URL: `https://api.nicheangle.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nicheangle.com/sessions/{session_id}/provenance`
- Auth: none declared

Return the 'how this was made' chain for a completed (or in-review) session.

## Path parameters

- `session_id` string, uuid, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- ProvenanceResponse: The 'How this was made' card surfaces the chain: niche → story → angle → sources. Renders in CP3 review so users can see (and quote) the reasoning behind their post.
  - `niche_input` string, required
  - `story_title` string, required
  - `story_summary` string, required
  - `angle_frame` string, required
  - `angle_hook` string, required
  - `angle_tension` string, required
  - `angle_cta_direction` string, required
  - `sources` ProvenanceSource[], required
    - `title` string, required
    - `url` string, required
    - `source` string, required
    - `publication` string
    - `published_at` string, nullable
    - `module_badge` ModuleBadge: The attribution chip for a story card. A TRUST mark (carries the honest confidence sub-line), not a hype sticker.
      - `slug` string, required
      - `label` string, required
      - `icon` string, required
      - `sub` string, required

## Other responses

- `422`: Validation Error

---

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