---
title: "Get Pitch Report"
method: GET
path: "/api/v1/pitches/{pitch_id}"
tags: ["Pitch Workspace"]
---

# Get Pitch Report

`GET /api/v1/pitches/{pitch_id}`

Returns a single pitch report by ID, including the company metadata, generated prompts, tracked competitors, brand and competitor attributes, top citing sources, and aggregate metrics (brand mentions, sentiment, response rate).

Requires a **global (organization-scoped) API key**. Website-scoped keys are rejected with `403 Forbidden`. Returns `404 Not Found` if the pitch does not exist, has been deleted, or belongs to a different organization.

## Path parameters

- `pitch_id` string, uuid, required

## Response `200`

Successful response with the full pitch report.

- PitchReport — Full pitch report payload returned by `GET /api/v1/pitches/{pitch_id}`.
  - `pitch` PitchSummary, required — A pitch workspace report — org-scoped, returned in lists without the heavy report payload.
    - `id` string, uuid, required — Unique identifier for the pitch.
    - `company_name` string, required — Display name of the company the pitch was created for.
    - `company_url` string, required — The company website domain (without protocol).
    - `company_description` string, required — Short description of the company captured at pitch creation time.
    - `status` 'draft' | 'processing' | 'completed' | 'failed', required — Current state of the pitch run. `processing` means the workflow is still generating prompts and responses; `completed` means the report is ready; `failed` means the run errored.
    - `created_at` string, date-time, required — ISO 8601 timestamp (UTC) for when the pitch was created.
    - `country` string, nullable — Target country for the pitch, or `null` if no country was set.
    - `language` string, nullable — Target language for the pitch, or `null` if no language was set.
    - `type` 'pitch_workspace' | 'landing_page', nullable — Pitch variant. `pitch_workspace` is the standard pitch report; `landing_page` is generated from a landing page URL. `null` for legacy pitches predating the field.
  - `competitors` PitchCompetitor[], required — Competitors tracked on the pitch, with mention counts and sentiment.
    - `id` string, uuid, required — Unique identifier for the pitch competitor row.
    - `name` string, required — Competitor display name.
    - `url` string, required — Competitor website (without protocol).
    - `mentions` integer, required — Number of pitch responses where this competitor was mentioned.
    - `sentiment` integer, required — Average sentiment across mentions, expressed as an integer percent from 0 to 100. `positive` mentions count as 1, `neutral` as 0.5, and `negative` as 0; the average is then scaled to a percent. `0` when the competitor has no mentions.
  - `prompts` PitchPrompt[], required — Prompts generated for the pitch.
    - `id` string, uuid, required — Unique identifier for the pitch prompt.
    - `prompt` string, required — The prompt text used for generation.
    - `type` string, required — Prompt category. Common values include `discovery` and `high_intent`; other values may be present depending on the pitch generator version.
  - `attributes` PitchAttribute[], required — Positive and negative attributes extracted from the pitch's responses, for both the target company and its competitors.
    - `id` string, uuid, required — Unique identifier for the pitch attribute.
    - `attribute_name` string, required — The attribute label.
    - `attribute_type` 'positive' | 'negative', required — Whether the attribute is a positive trait or a negative trait.
    - `applies_to` 'target' | 'competitors', required — Whether the attribute describes the target company (`target`) or one of the tracked competitors (`competitors`).
    - `count` integer, required — How many pitch responses mentioned this attribute.
  - `sources` PitchSource[], required — Top 10 citing domains across the pitch's responses, ordered by mention count.
    - `domain` string, required — Root domain of the citing source. Google Places citations are surfaced as `google.com (Google Places)` to distinguish them from regular `google.com` citations.
    - `mentions` integer, required — Number of pitch source rows attributed to this domain.
  - `metrics` PitchMetrics, required — Aggregate metrics computed across the pitch's AI responses.
    - `total_responses` integer, required — Total number of AI responses collected for this pitch.
    - `brand_mentions` integer, required — Number of responses in which the target company was mentioned.
    - `sentiment_score` integer, required — Average sentiment across mentioning responses, expressed as an integer percent from 0 to 100. `positive` counts as 1, `neutral` as 0.5, and `negative` as 0; the average is then scaled to a percent. `0` when there are no brand mentions.
    - `response_rate` integer, required — Share of responses that mentioned the target company, expressed as an integer percent from 0 to 100 (`brand_mentions / total_responses`).

## Other responses

- `400` — Bad request — invalid `pitch_id` format.
- `401` — Unauthorized — invalid or missing API key.
- `403` — Forbidden — a website-scoped API key was used. Pitches are org-level resources; use a global API key.
- `404` — Pitch not found in the calling organization, or has been deleted.
- `500` — Internal server error.

---

[API](https://skmtc.net/athenahq/apis/athenahq-api.md) · [All operations](https://skmtc.net/athenahq/apis/athenahq-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/athenahq/athenahq-api/revisions/6c5d71622cb9/schema)
