> ## Documentation Index
> Fetch the complete documentation index at: https://docs.joinyellowbrick.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get an archived pitch document

> Returns a time-limited signed URL for a snapshot artifact: a write-up (`format=pdf|mhtml|md`) or a linked attachment (`artifact=attachment`). Do not pass `format` and `artifact` together. By default the response is JSON `{ url, format, artifact, snapshot, filename, expires_in_seconds }` (`format` or `artifact` is null depending on which was signed). Pass `redirect=1` to receive a 302 to the signed URL instead. `disposition` controls Content-Disposition on the signed URL: `attachment` (default) downloads the file, `inline` opens it in the browser. Yellowbrick Premium is required. Author-paywalled pitches also need the same access as GET /api/v1/pitches/{id}.



## OpenAPI

````yaml /openapi.json get /api/v1/pitches/{id}/document
openapi: 3.1.0
info:
  title: Yellowbrick API
  version: 1.0.0
  description: >-
    Find companies and authors, read the tag vocabulary, reuse saved filter
    sets, then list or fetch pitches. The key identifies a Premium account. That
    account's access still applies on every request.
servers:
  - url: https://www.joinyellowbrick.com
    description: Production
  - url: https://yellowbrick-staging.vercel.app
    description: Staging
security:
  - bearerAuth: []
tags:
  - name: Search
    description: >-
      Look up companies and authors by name, ticker, username, or display name.
      Use the ids you get on the pitch list.
  - name: Tags
    description: >-
      Catalog of filter slugs and type keys, including author badge, author
      return, win rate, and pitch return. Send `slug` as `extraTags` or use the
      typed pitch-list parameters.
  - name: Filter Sets
    description: >-
      Saved tag combinations on the key owner's account. Pass an `id` as
      `filterSetIds` on the pitch list.
  - name: Pitches
    description: >-
      List write-ups that match search ids, tags, and filter sets, or fetch one
      pitch by id.
paths:
  /api/v1/pitches/{id}/document:
    get:
      tags:
        - Pitches
      summary: Get an archived pitch document
      description: >-
        Returns a time-limited signed URL for a snapshot artifact: a write-up
        (`format=pdf|mhtml|md`) or a linked attachment (`artifact=attachment`).
        Do not pass `format` and `artifact` together. By default the response is
        JSON `{ url, format, artifact, snapshot, filename, expires_in_seconds }`
        (`format` or `artifact` is null depending on which was signed). Pass
        `redirect=1` to receive a 302 to the signed URL instead. `disposition`
        controls Content-Disposition on the signed URL: `attachment` (default)
        downloads the file, `inline` opens it in the browser. Yellowbrick
        Premium is required. Author-paywalled pitches also need the same access
        as GET /api/v1/pitches/{id}.
      operationId: getPitchDocument
      parameters:
        - name: x-vercel-protection-bypass
          in: query
          required: false
          description: >-
            Optional. Vercel Protection Bypass for Automation — use when calling
            the Staging server.
          schema:
            type: string
        - name: id
          in: path
          required: true
          description: Pitch id from the list (`pitch_id`).
          schema:
            type: string
            minLength: 1
            description: Pitch id from the list (`pitch_id`).
        - name: format
          in: query
          required: false
          description: >-
            Preferred write-up format. Defaults to the best available (pdf, then
            mhtml, then md). Mutually exclusive with `artifact`.
          schema:
            description: >-
              Preferred write-up format. Defaults to the best available (pdf,
              then mhtml, then md). Mutually exclusive with `artifact`.
            type: string
            enum:
              - pdf
              - mhtml
              - md
        - name: artifact
          in: query
          required: false
          description: >-
            Snapshot sidecar artifact (not a write-up format). Use `attachment`
            for `document.attachment.pdf` when the archive has one. Mutually
            exclusive with `format`.
          schema:
            description: >-
              Snapshot sidecar artifact (not a write-up format). Use
              `attachment` for `document.attachment.pdf` when the archive has
              one. Mutually exclusive with `format`.
            type: string
            enum:
              - attachment
        - name: snapshot
          in: query
          required: false
          description: Archive snapshot id. Defaults to the latest snapshot.
          schema:
            description: Archive snapshot id. Defaults to the latest snapshot.
            type: string
        - name: redirect
          in: query
          required: false
          description: >-
            When `1`, `true`, or `yes`, respond with a 302 to the signed URL
            instead of JSON.
          schema:
            description: >-
              When `1`, `true`, or `yes`, respond with a 302 to the signed URL
              instead of JSON.
            type: string
            enum:
              - '0'
              - '1'
              - 'true'
              - 'false'
              - 'yes'
              - 'no'
        - name: disposition
          in: query
          required: false
          description: >-
            Content-Disposition on the signed URL. `attachment` (default)
            downloads the file. `inline` opens it in the browser when the format
            supports inline display.
          schema:
            description: >-
              Content-Disposition on the signed URL. `attachment` (default)
              downloads the file. `inline` opens it in the browser when the
              format supports inline display.
            type: string
            enum:
              - attachment
              - inline
      responses:
        '200':
          description: Signed document URL
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  url:
                    type: string
                    format: uri
                    description: Time-limited signed CloudFront URL.
                  format:
                    anyOf:
                      - type: string
                        enum:
                          - pdf
                          - mhtml
                          - md
                      - type: 'null'
                    description: >-
                      Write-up format when signing a write-up. Null for
                      artifacts.
                  artifact:
                    anyOf:
                      - type: string
                        enum:
                          - attachment
                      - type: 'null'
                    description: Artifact kind when signing a sidecar. Null for write-ups.
                  snapshot:
                    type: string
                    description: Snapshot id that was signed.
                  filename:
                    type: string
                    description: >-
                      Suggested download filename (also set via
                      Content-Disposition on the signed URL).
                  expires_in_seconds:
                    type: integer
                    exclusiveMinimum: 0
                    maximum: 9007199254740991
                    description: Signed URL lifetime in seconds.
                required:
                  - url
                  - format
                  - artifact
                  - snapshot
                  - filename
                  - expires_in_seconds
                additionalProperties: false
        '302':
          description: Redirect to the signed CloudFront URL when `redirect=1`.
        '400':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Stable error code, such as `premium-required`.
                  title:
                    type: string
                    description: Short label for the error.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
        '401':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Stable error code, such as `premium-required`.
                  title:
                    type: string
                    description: Short label for the error.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
        '403':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Stable error code, such as `premium-required`.
                  title:
                    type: string
                    description: Short label for the error.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
        '404':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Stable error code, such as `premium-required`.
                  title:
                    type: string
                    description: Short label for the error.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
        '503':
          description: Problem details (`type`, `title`, `status`, `detail`).
          content:
            application/problem+json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  type:
                    type: string
                    description: Stable error code, such as `premium-required`.
                  title:
                    type: string
                    description: Short label for the error.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code.
                  detail:
                    type: string
                    description: Human-readable explanation.
                required:
                  - type
                  - title
                  - status
                  - detail
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: 'Key from Profile. Send `Authorization: Bearer yb_...`.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.